可能重複:
Learning Python: If condition executing all the time號碼猜測者計劃故障
這Python代碼是猜測,從1數到100沒有什麼錯的「猜測者()」函數,我知道這是因爲我的程序還有一個完美的「手動模式」。出於某種原因,它總是將'猜測'值分配給'低',並且一直這樣做直到它等於100並且程序「Ragequits」。它永遠不會做任何'高',它在整個執行過程中保持其默認狀態。無論如何,它從不執行「獲勝」模塊。 注意:變量'high'和'low'分別以101和0開頭,'guesser()'在它們之間選擇一個數字。在代碼的早期使用'goOn'來確定該人是否想再次玩。
num = raw_input('Enter the number which you want the computer to guess. ')
unguessed = True
while unguessed:
if high == low + 1 or high <= low:
print 'Waitafligginflagginminnit! You CHEATED! *Ragequits*'
goOn = False
unguessed = False
print ''
raw_input('Press Enter to continue.')
guesses = guesses + 1
guesss = guesser()
print 'I guessed', guesss
if guesss == num:
print 'Yay! I won in', guesses, 'guesses!'
again = raw_input('Just press enter if you want to play again. Otherwise...you know the drill. ')
unguessed = False
print '\n\n'
if again:
goOn = False
else:
print 'Awww...'
if guesss > num:
high = guesss
elif guesss < num:
low = guesss
1和100之間的數字將永遠等於您從用戶處獲得的字符串;將其轉換爲整數。 – geoffspear