![](/img/trans.png)
[英]How do I make a program ask the user for the number of inputs, and add the result of their inputs togther?
[英]How do I make the program track user inputs at the loop code?
我創建了一個名為“猜謎游戲”的游戲。 故事是:計算機生成一個數字,用戶有3次機會猜測計算機生成的數字。 編寫代碼既好又容易,但是我想為此添加一個小細節,這就是問題所在。
我要問你們的是幫助我如何/在代碼中添加一些內容,以便它可以將新輸入與上一個相關聯,並據此計算打印響應。
import random
listte = range(1, 21) # list contains 1-20
number = random.choice(listte) # computer generated number from the list
for i in range(3):
answer = int(input("What is your guess?"))
prevanswer = None # I came up with this but not really working?
if answer == number:
print "OH YEAH you got it!"
elif answer < number:
print "make it higher"
# this elif is not working with below codes
elif answer < number and answer > prevanswer:
print "still higher"
elif answer > number:
print "lower!"
prevanswer = i # also not working but this is what I came up with
執行場景示例:
computer generated : 15
guess 1 : 17
prints "lower!"
guess 2: 10
print "make it higher"
guess 3: 12
print "still higher"
另外:如果您添加了一個代碼,當用戶使用了所有3
猜測時,它說“您別無選擇”,我也很喜歡。
首先,將prevanswer = None
的設置prevanswer = None
循環之前。 否則,您將抹去以前的記憶。
其次,看看您的if / elsif代碼序列。 您具有正確的測試,但順序錯誤:
elif answer < number:
這將執行每一次小於數字的答案。 在其下方,您具有:
elif answer < number and answer > prevanswer:
從某種意義上說,這應該是“不錯”的代碼,它可以完成您似乎想要的工作。 但這比以前的案例更為受限制。 也就是說,每當回答<數字時,只有SOMETIMES會回答> prevanswer。 因此,在所有答案<數字的一般情況之前,您應該檢查可能性的子集。
嘗試這個:
elif answer < number and answer > prevanswer: # specific case
...
elif answer < number: # general case
最后,不要設定
prevanswer = i
反而
prevanswer = answer
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.