簡體   English   中英

不小心創建了一個循環

[英]accidentally creating a loop

    ToppingsNumber = input("how many extra toppings do you want? (Max 3): ")
    try:
        int(ToppingsNumber)
        while ToppingsNumber > 3 or ToppingsNumber < 0:
            ToppingsNumber = input("enter a valid value!")
    except:
        while ToppingsNumber != type(int):
            print("enter an integer value")
            try:
                ToppingsNumber = (int(input))
                while ToppingsNumber > 3 or ToppingsNumber < 0:
                    ToppingsNumber = input("enter a valid value!")
            except:
                print("enter a valid value")

這段代碼開始一個接一個地輸出“輸入一個有效值”和“輸入一個整數”

當您這樣做時,問題從您的第 3 行開始

int(ToppingsNumber)

您必須將該轉換的結果分配給 ToppingsNumber 變量,即

ToppingsNumber = int(ToppingsNumber)

然后你也有波紋管

ToppingsNumber = int(input)

但是您在輸入調用中缺少括號,它表示將 function 輸入轉換為 integer 而不是它返回的值。 因此,你應該有

ToppingsNumber = int(input())

此外,正如評論中提到的,要檢查你應該做的變量的類型

isinstance(ToppingsNumber, int)

或者

type(ToppingsNumber) == int

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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