所以我正在为我的类编写一些代码,并且必须有一个由用户输入的浮点数列表,并使用正常迭代和反向迭代打印出来,我基本上完成了所有这些操作。但是当它应该多次询问用户输入时,它只会询问一次然后将所有内容打印出来并完成而不会多次询问。 任何帮助将被赞赏为什么它不要求多次输入即使我有一个for循环? 有没有更简单的方法从我不知道的用户输入中获取浮点数列表? 感谢
emptyList = []
userInput = high = low = total = float(input("Input a float > "))
emptyList.append(userInput)
for y in range(len(emptyList)-1):
userInput = float(input("Input a float > "))
emptyList.append(userInput)
total += emptyList
if userInput > high:
high = userInput
if userInput < low:
low = userInput
avg = total / len(emptyList)
above_avg = below_avg = 0
for y in range(len(emptyList)):
if emptyList[y] > avg:
above_avg += 1
if emptyList[y] < avg:
below_avg += 1
答案 0 :(得分:0)
您可以尝试这样:
n = int(input("Number of inputs: "))
emptyList = []
while n:
userInput = float(input("Enter a Float > "))
emptyList.append(userInput)
n-=1
print(emptyList)
答案 1 :(得分:0)
当你进入for循环时,emptyList的长度为1,这就是你只获得一个输入显示的原因。
也许尝试这样的事情:
emptyList = []
userInput = 1
high = low = userInput
while userInput:
userInput = input("Input a float (type 'break' to exit)> ")
if 'break' in userInput:
break
userInput = float(userInput)
emptyList.append(userInput)
total = sum(emptyList)
if userInput > high:
high = userInput
elif userInput < low:
low = userInput
答案 2 :(得分:0)
我检查了你的逻辑并根据你运行你的第一个for循环到 emptyList-1 的长度所以,在添加一个元素之后你的空列表的长度变为1并且1-1 = 0所以,你的for循环只能工作到第0个索引,然后就会中断。 我试过这个
a=[]
b = []
t=0
count = 0
total = 0
for i in range(0,5):
x= float(input())
count = count + 1
total = total+ x
a.append(x)
print(count)
for i in range(count-1,-1,-1):
print('Aya')
print (i)
b.append(a[i])
for i in range(0,count-1):
for j in range(i,count):
if(a[i]>a[j]):
t=a[i]
a[i]=a[j]
a[j]=t
print(a)
print(b)
print(total)
print(total/count)
print(a[0])
并发现它对我来说非常好,我的for循环在每次迭代时都会获取值。