2016-11-03 109 views
-2

所以,當談到編程時,我是一個完整的newb。我一直在看教程,我正在閱讀一本關於如何編程python的書。所以,我想自己創建一個數字發生器猜測器,我已經看過一些教程,但我不想重新創建代碼。基本上,我想用我得到的信息做我自己的猜測。隨機數猜測器

import random 

# Random Numbergenerator Guesser 

print("Hello and welcome to the random number guesser.") 
print("I am guessing a number of 1 - 20. Can you guess which one?") 

x = random.randint(1,20) 

# Here you guess the number value of 'x' 
for randomNumber in range (1,7): 
    randomGuess = input() 
    if randomGuess > x: 
     print("Too high. Guess again!") 
    elif randomGuess < x: 
     print("Too low. Guess again!") 
    else: 
     break 

# Checks to see if the number you were guessing is correct or takes you to a fail screen. 
if randomGuess == x: 
    print("Correct number!") 
else: 
    print("Too many tries. You have failed. The number I was thinking of was " + (x))`` 

我不斷收到此錯誤。

C:\Python\Python35\python.exe "C:/Users/Morde/Desktop/Python Projects/LoginDataBase/LoginUserDatabse1File.py" 
Hello and welcome to the random number guesser. 
I am guessing a number of 1 - 20. Can you guess which one? 
1 
Traceback (most recent call last): 
    File "C:/Users/Morde/Desktop/Python  Projects/LoginDataBase/LoginUserDatabse1File.py", line 12, in <module> 
    if randomGuess > x: 
TypeError: unorderable types: str() > int() 
+1

使用'randomGuess = INT(輸入())' 。 –

+0

'input()'返回一個字符串('str'對象),你需要從字符串中創建一個'int'對象。 – cdarke

回答

0

首先,你的格式不好。其次,由於您正在比較string(您從input()得到)和integer,因此出現錯誤。你應該使用的輸入值轉換爲integer

randomGuess = int(input()) 
+0

我改變它到現在我得到另一個錯誤,說它的錯誤。 random()()int(input)() TypeError:int()參數必須是字符串,類似字節的對象或數字,而不是'builtin_function_or_method' –

+0

在答案中提到:int(input()) ''檢查'()'圍繞'input()'和你周圍的輸入' –

+0

正如@anonymous所說。 'int()'函數將輸入參數'input()'。所以,'int(input())'而不是'int(input)()'。 – Fejs

0

錯誤是在這一行:

if randomGuess > x: print("Too high. Guess again!") 

,因爲你試圖將一個整數x比較字符串randomGuessrandomGuess是因爲你的字符串定義它是這樣的:

randomGuess = input() 

你可以這樣做:

randomGuess = int(input()) 

迫使蟒蛇考慮你猜數作爲整數(但你必須處理的情況下,當用戶輸入不是整數別的東西)

+0

我仍然收到錯誤。它現在說。 RandomGuess = int(input)() TypeError:int()參數必須是一個字符串,一個字節-like object or a number,not'builtin_function_or_method' –

+0

重新閱讀我的答案或Fejs之一 – JMat

+0

對不起,這是我的壞。我做了:'randomGuess = int(input)()',而不是randomGuess = int(input()) –