首页 > 解决方案 > while 循环和计数器

问题描述

我已经收到了这个问题,在我完全理解为什么它不起作用之前,我试图不看答案:

“扩展您的程序,使其要求用户输入 1 到 59 之间的 6 个数字。输入 6 个数字后,程序应显示一条消息,列出所选数字”

invalid = True
counter = 0
while invalid and counter <6:
    number = int(input("please enter a number in the range between 1 and 59: "))
    if number >=1 and number <=59:
            invalid = False
    else:
        print("so sorry, your number must be between 1 and 59")
        print("have another go!")

print("well done!")
print (number)

有谁知道最简单的方法来做到这一点?我已经了解了上面的代码,但它没有考虑我的计数器,我也不知道如何显示用户输入的输出。

标签: pythonloopswhile-loop

解决方案


无需柜台或无效

lst = []                # to contain numbers input by user
while len(lst) < 6:     # know count from length of list
  number = int(input("please enter a number in the range between 1 and 59: "))
  if 1 <= number <= 59: # equivalent, but more readable form than 
                        # if number >=1 and number <=59:
      lst.append(number)   
  else:
    print("so sorry, your number must be between 1 and 59")
    print("have another go!")

print("well done!")
print (lst)             # numbers input by user

推荐阅读