2014-09-22 58 views
-4
#Guess my number 

import random 

print ("Welcome to the guess my number game") 
print ("***********************************") 
print ("You will choose a random number between 1-100") 
print ("and the computer must guess what it is.") 
print() 

number = int(input("Please choose a number between 1-100: ")) 
guesses = 0 
guess = 0 

while guess != number: 
    guess = ("My guess is: ",random.randint(1,100)) 
    guesses=guesses+1 

    if guess > number: 
     print("Lower...") 
     continue 

    elif guess < number: 
     print ("Higher...") 

    else: 
     print ("Well done you have guessed my number and it took you")   print ("guesses,"guesses!") 

基本上,你選擇一個數字,計算機必須繼續猜測,直到它得到它的權利,但我似乎無法得到它的工作。這個猜數字遊戲代碼有什麼錯?

+2

有什麼不對?你得到什麼錯誤? – drum 2014-09-22 16:29:49

+0

代碼中至少有兩個錯誤; 'guess'是一個元組,但你試圖將它與一個整數進行比較,你從不要求在循環中有新的猜測。哪一個你遇到了最多的問題? – 2014-09-22 16:31:24

+0

我並不完全確定,但計算機說它與該行有關: – izzy04 2014-09-22 16:33:44

回答

0

你應該學習基本的調試技巧。調試該程序的最簡單方法是添加print()語句以查看變量中的值。

您的基本問題是,你設置guess一個元組有兩個值:字符串"My guess is: "從1到100你可能是打算一個隨機數來設定guess只的數量。

你可能想是這樣的:

guess = random.randint(1,100) 
print("My guess is: {}".format(guess)) 

這將讓你更近了一步。然後你需要弄清楚如何改變程序,以便縮小猜測範圍。如果你遇到困難,也許你應該找人幫助你一下。

+0

計算機應該猜測隨機數在1 -100,直到它得到正確的一個,所以猜測必須保持不斷變化,直到它正確 – izzy04 2014-09-22 16:44:40

+0

你沒有設置猜測的數字,你將它設置爲'tuple' containsi ng兩個值:一個字符串和數字。這是不對的。 – steveha 2014-09-22 17:48:16

+0

我該如何解決這個問題? – izzy04 2014-09-22 17:50:55