![](/img/trans.png)
[英]How do you make a while loop in python that stops two variables with the same answer?
[英]How to make a loop in python three that stops when you input the correct word/number
我正在用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")
嘗試這個 :
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')
shell中的示例輸出:
whats the number?
5
Wrong number try again
2
Wrong number try again
4
Wrong number try again
8
GOT IT
打印(“什么數字?”)
required_number = [8,9]
而True:數字= input()
if number in required_number:
print ("GOT IT")
break
else:
print ("Wrong number try again")
您要查找的單詞代替==
是in
因為required_number
是一個元組,您正在查看輸入是否in
required_number
。 同樣,元組的正確語法將使用逗號not or
。
我還將使required_number
復數形式,以更准確地描述其內容,並且您可能希望使用整數而不是字符串。
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")
input
將其視為Python 3.x中的str
最好使用list
所需的號碼
使用in
來檢查required_numbers
的數字
將其放在try塊中以捕獲值錯誤異常。
因此:
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
。
輸出 :
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
如果您的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
試試這個方法
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")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.