2016-11-17 72 views
-4

我一直得到相同的錯誤,我不知道爲什麼,我是新來的python,我正在嘗試一個小項目來猜測隨機數!這裏是我的代碼:不斷收到「TypeError:'int'對象不可調用」

import random 

number_guess = int(input("Enter a random number between 1 - 100 please!")) 
random_number = random.randrange(0,100) 

if number_guess == random_number(): 
    print("Correct! The number was " + random_number + "!") 
else: 
    print("Wrong! The real number was " + random_number + "!") 
+0

刪除括號'()''後random_number'。 –

回答

1

葉聲明說這裏的一個錯誤是在你的if語句中你有random_number()你調用了一個變量而不是一個方法,你應該刪除括號。

另一個問題是你試圖向String中添加一個int並且無法完成,在打印語句中,你應該用逗號替換'+',並且程序將按照預期完美運行!

以及如果你實際上想要1到100的值,你應該設置起始數字爲1,就好像它被設置爲0一樣,你有機會得到0,並且如果你有最大值設置爲100你永遠不會得到大於99的值,這意味着100的猜測永遠不會是正確的。

因此,最終的項目應該是這樣的:

import random 

number_guess = int(input("Enter a random number between 1 - 100 please! ")) 
random_number = random.randrange(1,101) 

if number_guess == random_number: 
    print("Correct! The number was ", random_number, "!") 
else: 
    print("Wrong! The real number was ", random_number, "!") 
1

random.randrange()返回一個指定範圍內的隨機整數。 The documentation states this quit clearly

random.randrange(start, stop[, step])

Return a randomly selected element from range (start, stop, step) . This is equivalent to choice (range(start, stop, step)) , but doesn’t actually build a range object.

當時的random_number值爲int類型,這是不可調用的。在你的語句中,不需要括號。簡單地寫下random_number而不用一對括號。