浮动列表的用户输入不重复

时间:2018-03-01 03:49:43

标签: python

所以我正在为我的类编写一些代码,并且必须有一个由用户输入的浮点数列表,并使用正常迭代和反向迭代打印出来,我基本上完成了所有这些操作。但是当它应该多次询问用户输入时,它只会询问一次然后将所有内容打印出来并完成而不会多次询问。 任何帮助将被赞赏为什么它不要求多次输入即使我有一个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

3 个答案:

答案 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循环在每次迭代时都会获取值。