[英]How I can solve the read too much input problem in Python
這是我的問題:
你對傳統的“我在想什么數字?”進行了新的改動。 幫助您的堂兄弟學習他們的 7 乘法表的游戲。 編寫一個游戲,讓用戶猜出你正在想的數字(對於這個游戲,數字永遠是 42。)
允許用戶進行 10 次猜測,並出現“錯誤”。 如果他們猜出的數字不是 7 的倍數,則用戶最多只能犯一個錯誤。 否則他們輸了比賽,當比賽結束時。 你應該總是打印出來那很有趣。
這是一個例子:
Guess a multiple of 7: 14
Nope!
Guess a multiple of 7: 32
Mistake! That number isn't a multiple of 7.
Guess a multiple of 7: 28
Nope!
Guess a multiple of 7: 86
Another mistake. Too bad.
That was fun.
這是另一個例子:
Guess a multiple of 7: 7
Nope!
Guess a multiple of 7: 14
Nope!
Guess a multiple of 7: 126
Nope!
Guess a multiple of 7: 133
Nope!
Guess a multiple of 7: 70
Nope!
Guess a multiple of 7: 77
Nope!
Guess a multiple of 7: 63
Nope!
Guess a multiple of 7: 35
Nope!
Guess a multiple of 7: 126
Nope!
Guess a multiple of 7: 77
Nope!
No guesses left!
That was fun.
如果用戶正確輸入 42,您的程序應該打印出 You won,而不是 Nope.:,然后不再要求進行任何猜測。 例如:
Guess a multiple of 7: 42
You won!
That was fun.
現在是我的代碼:
guessCount = 0
mistakeMade = False
while True:
guess = int(input("Guess a multiple of 7: "))
if guess % 7 != 0:
if mistakeMade:
print("Another mistake. Too bad.")
break
else:
print("Mistake! That number isn't a multiple of 7.")
mistakeMade = True
else:
if guess == 42:
print("You won!")
break
else:
print("Nope!")
guessCount += 1
if guessCount == 10:
print("No guesses left!")
break
print("That was fun.")
我通過了 Grok Learning 的所有檢查,除了這個錯誤:
測試一個隱藏的案例。 您提交的內容試圖讀取過多的輸入。 這發生在您提交的第 5 行。
我花了很多時間思考它,但它仍然沒有解決問題。 希望得到大家的幫助。 謝謝你。
當一個人犯錯時,您不會增加guessCount 。 試試這個
wrongGuess = 0
for _ in range(10):
guess = int(input("Guess a multiple of 7: "))
if guess % 7 != 0:
wrongGuess += 1
if wrongGuess > 1:
print("Another mistake. Too bad.")
break
else:
print("Mistake! That number isn't a multiple of 7.")
wrongGuess += 1
else:
if guess == 42:
print("You won!")
break
else:
print("Nope!")
else:
print("No guesses left!")
print("That was fun.")
注意:對於像這樣的有限計數問題,總是嘗試使用for loop 。
您應該每次都進行遞增並檢查guessCount
,因此將其從if
條件中刪除。
[編輯] 舊的無關答案。
可能是:
guess = int(input("Guess a multiple of 7: ").split()[0])
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.