Python中的基本循环

时间:2018-05-06 21:48:31

标签: python

对此有新意见,请耐心等待。我正在尝试运行一个循环,要求用户输入一个介于1和100之间的数字。我想把它转到哪里,如果他们输入100之外的数字,它再次询问。我能够这样做,但我无法弄清楚我是否正在使用正确的循环。此外,每当我进入1和100之间时,循环继续。

以下代码:

user_input = int(input("Enter a number between 1 and 100: "))
if user_input >= 1 and user_input <= 100:
    print("NICE!")
else: 
    while user_input > 100:
        try_again = int(input("try again "))
        if try_again >= 1 and try_again <= 100:
            print("There you go!")

3 个答案:

答案 0 :(得分:2)

我认为最明智的方法是从一个循环中开始,当你最终得到正确的答案时,你会突破这个循环。一定要处理一个糟糕的输入,比如&#34; fubar&#34;这不是一个整数

while True:
    try:
        user_input = int(input("Enter a number between 1 and 100: "))
        if user_input >= 1 and user_input <= 100:
            print("NICE!")
            break
        print("Not between 1 and 100, try again")
    except ValueError:
        print("Not a number, try again")

在python 3中,您可以使用range进行边界检查。如果你这样做

        if user_input in range(1, 101) 

range将计算结果,而不会实际生成所有数字。

答案 1 :(得分:0)

当您的代码运行时,它将继续请求输入,即使给定的输入小于100.解决此问题的方法之一是:

try_again = 1000
user_input = int(input("Enter a number between 1 and 100: "))
if user_input >= 1 and user_input <= 100:
    print("NICE!")
elif user_input > 100:
        while try_again > 100:
        try_again = int(input("try again "))
        if try_again >= 1 and try_again <= 100:
            print("There you go!")

此代码首先测试用户的输入是否大于100,然后运行一个基本值大于100的while语句。当用户输入另一个值时,如果超过100,则继续,否则它会不

答案 2 :(得分:0)

下面是一个程序示例,它可以为您提供所需的输出:

attempts = 0

while True:
     user_input = int(input("Enter a number between 1 and 100: "))

     if user_input > 100 or user_input < 1:
          print('Please try again')
          attempts += 1
          continue
     elif attempts >= 1 and user_input <= 100 and user_input >= 1:
          print('There you go!')
          break
     else:
          print('Nice!')
          break

首先将您的用户提示放在循环中,以便在第一次输入1到100之间的数字失败时,可以询问用户相同的提示。如果用户输入大于100或小于1,我们将告诉用户再次尝试,我们将添加1尝试,我们将添加一个continue语句,在while循环的顶部再次启动代码。接下来我们添加一个elif语句。如果他们已尝试提示并失败(尝试&gt; = 1)并且如果新输入小于或等于100且用户输入也大于或等于1,则用户将获得&#39;你去的地方&#39;您分配给他们的消息。然后我们将使用break语句中断循环,以避免无限循环。最后我们添加一个else语句。如果用户在第一次尝试时满足先前条件,我们将打印出“好消息”。并简单地摆脱循环。