如何在python 3中制作一个循环,当您输入正确的单词/数字时该循环停止

时间:2019-03-15 05:21:22

标签: python python-3.x loops

我正在用python 3开发一个基于文本的冒险游戏,我想知道最简单的循环是什么。使用我已有的代码,即使您输入正确的数字,它也会继续打印"whats the number",并且输入9也不起作用。当我给("8","9")时,它也不起作用。这是我的代码:

print("whats the number?")
required_number = ("8" or "9")

while True:
    number = input()
    if number == required_number:
        print ("GOT IT")
    else: print ("Wrong number try again")

6 个答案:

答案 0 :(得分:1)

尝试一下:

whats the number? g
Invalid Input, Please enter an integer only.
whats the number? abc
Invalid Input, Please enter an integer only.
whats the number? 3
Wrong number try again
whats the number? 9
GOT IT

shell中的示例输出:

print("whats the number?")
required_number = [8,9]
while True:
    number = int(input())
    if number in required_number :
        print('GOT IT')
        break
    else:
        print('Wrong number try again')

答案 1 :(得分:0)

您要查找的单词代替==in,因为required_number是一个元组,您要查看输入是否为in {{1 }}。同样,元组的正确语法将使用逗号而不是required_number

我还将使or的复数形式更准确地描述其内容,并且您可能希望使用整数而不是字符串。

required_number

答案 2 :(得分:0)

  1. required_numbers = (8, 9) while True: number = int(input("whats the number?")) if number in required_numbers: print("GOT IT") break #Stop asking else: print ("Wrong number try again") Python 3.x

  2. 中将其视为input
  3. 最好将str用于所需的数字

  4. 使用list检查in

  5. 中的数字
  6. 将其放在try块中以捕获值错误异常。

因此:

required_numbers
  

注意:required_number = [8,9] # a list of integer types while True: try: number = int(input("whats the number? ")) # Using `int` to convert the `str` if number in required_number: print ("GOT IT") break # break out when the number is found else: print ("Wrong number try again") except ValueError: print("Invalid Input, Please enter an integer only.") 确定值是否为==,而equal运算符遍历元素列表并返回inTrue

输出

False

答案 3 :(得分:0)

如果您的required_number或输入内容可以容纳string,那么您可以使用以下方法:

required_number = [8,9]
required_number = str(required_number)
number = None

while True:
    number = input("Write a number: ")
    if number in required_number:
        print ("GOT IT")
    else: 
        print ("Wrong number try again")

输出:

Write a number: 3
Wrong number try again
Write a number: 8
GOT IT
Write a number: Hi
Wrong number try again

答案 4 :(得分:0)

尝试此方法

print('Enter a Number:')
required_number = ['8','9']

while True:
number = input()
if number in required_number:
    print ("GOT IT")
    break
else:
    print ("Wrong number try again")

答案 5 :(得分:0)

print(“什么数字?”)

required_number = [8,9]

为True时:     数字= input()

if number in required_number:

    print ("GOT IT")
    break

else:
    print ("Wrong number try again")