我正在用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")
答案 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)
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
input
最好将str
用于所需的数字
使用list
检查in
将其放在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
运算符遍历元素列表并返回in
或True
。
输出:
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")