![](/img/trans.png)
[英]Why can I not guess the correct number in this random number guesser in python 3.8.2?
[英]Guess Random Number Why i m not able to enter input - python
下面是我的代碼,用於生成 0 - 9 之間的隨機數,並檢查用戶輸入是否高於或等於。 當我運行代碼時,它沒有輸入並顯示
'guessNumber = int(input("Guess a Random number between 0-9")) File "", line 1 中的錯誤
有人可以告訴我我哪里出錯了
#Guess Random Number
#Generate a Random number between 0 to 9
import random
turn = 0
def guessRandom():
secretNumber = random.randint(0,9)
guessNumber = int(input("Guess a Random number between 0-9"))
while secretNumber != guessNumber:
if(secretNumber > guessNumber):
input("You have Guessed the number higher than secretNumber. Guess Again!")
turn = turn + 1
elif (secretNumber < guessNumber):
input("You have guessed the number lower than secretNumber. Guess Again! ")
turn = turn + 1
if(secretNumber == guessNumber):
print("you Have Guessed it Right!")
guessRandom()
我認為guessRandom()
應該在方法定義之外,以便調用該方法。 guessNumber
變量永遠不會改變,因為輸入沒有被分配為guessNumber
,因此它會不斷檢查初始猜測。 此外,小於/大於符號似乎與預期信息相沖突。 此外, turn
超出了該方法的范圍。
#Generate a Random number between 0 to 9
import random
def guessRandom():
secretNumber = random.randint(0, 9)
guessNumber = int(input("Guess a Random number between 0-9: "))
i = 0
while secretNumber != guessNumber:
if secretNumber < guessNumber:
print "You have guessed a number higher than secretNumber."
i += 1
elif secretNumber > guessNumber:
print "You have guessed a number lower than secretNumber."
i += 1
else:
print("you Have Guessed it Right!")
guessNumber = int(input("Guess Again! "))
return i
turn = 0
turn += guessRandom()
編輯:假設您在 Python3 中使用input
(或在舊版本的 Python 中使用raw_input
),您可能希望排除ValueError
以防有人輸入字符串。 例如,
#Generate a Random number between 0 to 9
import random
def guessRandom():
secretNumber = random.randint(0, 9)
guessNumber = input("Guess a Random number between 0-9: ")
i = 0
while True:
try:
guessNumber = int(guessNumber)
except ValueError:
pass
else:
if secretNumber < guessNumber:
print "You have guessed a number higher than secretNumber."
i += 1
elif secretNumber > guessNumber:
print "You have guessed a number lower than secretNumber."
i += 1
else:
print("you Have Guessed it Right!")
break
guessNumber = input("Guess Again! ")
return i
turn = 0
turn += guessRandom()
我將while
循環條件更改為True
並添加了一個中斷,否則它將無限循環(將整數與字符串輸入值進行比較)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.