为什么while循环中的用户输入不能以这种方式工作

时间:2018-03-20 15:00:22

标签: python python-2.7 while-loop user-input

此语法有什么问题: (这是Python 2)

num=""
word=[]

while ((num = raw_input("Enter a number: "))!='done'):

    if num!='done':
        word.append(num)
print 'Maximum: ',float(max(word))
print 'Minimum: ',float(min(word))

为什么用户输入不能进入while循环? 或者我怎么能把它放在while条件下?

我不需要解决方案来解决这个问题我只是问为什么Python不允许这样做?

这是解决此问题的代码:(找到最大和最小格式列表,直到用户输入"完成")

num=''
word=[]

while (num!='done'):
    num = raw_input("Enter a number: ")
    if num!='done':
        word.append(num)
print 'Maximum: ', float(max(word))
print 'Minimum: ', float(min(word))

1 个答案:

答案 0 :(得分:-1)

您可以尝试这样的事情:

num=""
word=[]

while True:
    num = raw_input("Enter a number: ")
    if num!='done':
        word.append(float(num))
    else:
        break
print 'Maximum: ',max(word)
print 'Minimum: ',min(word)

基本上,你需要在条件之外和实际循环之内为num赋值,然后告诉while循环在你的变量完成时停止。此外,我认为你应该将数字添加到列表中,以便可以自然地调用max和min。