试图在另一个列表中显示所有低于平均值的数字
Trying to show all numbers lower than the average in another list
对于学校,我们必须制作一个代码,将某个列表的平均值显示到另一个列表中,但由于某种原因,我应该显示较小数字的列表是空的,我不知道这是否可能,但我尝试使用一个额外的变量,它对自身计数 +1
from random import randint
kleiner = []
list = []
teller = 0
aantal = int(input("Hoeveel random getallen wilt u? "))
veelvoud = int(input("Welke veelvoud? "))
while len(list) < aantal:
getal = randint(1, 100)
if getal % veelvoud == 0:
list.append(getal)
gemiddelde = sum(list) / len(list)
while len(list) < aantal:
if list[teller] < gemiddelde:
kleiner.append(list[teller])
teller += 1
print(list)
print(list[::-1])
print(kleiner)
在此先感谢您的帮助。
2 件事:
- 不要命名变量
list
因为 list
也是一个 python 类型
- 第二个
while
循环导致了问题,因为列表的长度默认等于 aantal
,因为列表已经创建。因此,while 循环中的任何内容都不会执行。相反,您可以在一个简单的 for 循环 中遍历列表
这使得:
from random import randint
kleiner = []
list_ = []
teller = 0
aantal = int(input("Hoeveel random getallen wilt u? "))
veelvoud = int(input("Welke veelvoud? "))
while len(list_) < aantal:
getal = randint(1, 100)
if getal % veelvoud == 0:
list_.append(getal)
gemiddelde = sum(list_) / len(list_)
for i in list_:
if i < gemiddelde:
kleiner.append(i)
print(list_)
print(list_[::-1])
print(kleiner)
获得平均值 (gemiddelde) 后,您可以使用列表理解构建结果列表:
kleiner = [n for n in list_ if n < gemiddelde ]
如果您想要一个 veelvoud <= 100 的倍数的随机数列表,您可以使用 choices() 函数获得:
list_ = random.choices(range(velvoud,100,velvoud), k=aantal)
对于学校,我们必须制作一个代码,将某个列表的平均值显示到另一个列表中,但由于某种原因,我应该显示较小数字的列表是空的,我不知道这是否可能,但我尝试使用一个额外的变量,它对自身计数 +1
from random import randint
kleiner = []
list = []
teller = 0
aantal = int(input("Hoeveel random getallen wilt u? "))
veelvoud = int(input("Welke veelvoud? "))
while len(list) < aantal:
getal = randint(1, 100)
if getal % veelvoud == 0:
list.append(getal)
gemiddelde = sum(list) / len(list)
while len(list) < aantal:
if list[teller] < gemiddelde:
kleiner.append(list[teller])
teller += 1
print(list)
print(list[::-1])
print(kleiner)
在此先感谢您的帮助。
2 件事:
- 不要命名变量
list
因为list
也是一个 python 类型 - 第二个
while
循环导致了问题,因为列表的长度默认等于aantal
,因为列表已经创建。因此,while 循环中的任何内容都不会执行。相反,您可以在一个简单的 for 循环 中遍历列表
这使得:
from random import randint
kleiner = []
list_ = []
teller = 0
aantal = int(input("Hoeveel random getallen wilt u? "))
veelvoud = int(input("Welke veelvoud? "))
while len(list_) < aantal:
getal = randint(1, 100)
if getal % veelvoud == 0:
list_.append(getal)
gemiddelde = sum(list_) / len(list_)
for i in list_:
if i < gemiddelde:
kleiner.append(i)
print(list_)
print(list_[::-1])
print(kleiner)
获得平均值 (gemiddelde) 后,您可以使用列表理解构建结果列表:
kleiner = [n for n in list_ if n < gemiddelde ]
如果您想要一个 veelvoud <= 100 的倍数的随机数列表,您可以使用 choices() 函数获得:
list_ = random.choices(range(velvoud,100,velvoud), k=aantal)