簡體   English   中英

如何在python 3中制作一個循環,當您輸入正確的單詞/數字時該循環停止

[英]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")
  1. input將其視為Python 3.x中str

  2. 最好使用list所需的號碼

  3. 使用in來檢查required_numbers的數字

  4. 將其放在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運算符則遍歷元素列表並返回TrueFalse

輸出

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM