2017-07-04 2 views
1

私は誰かを見せるために小さなゲームをコーディングしようとしていますが、問題があります。 2つの値の合計を試すと、それはちょうどTypeError: must be str, not intと表示されます。私は初心者なので、修正を見つけることができませんでした。 私はそれを別の言語でプログラミングしました(別のプログラミング言語ではなく、私はポルトガル語でプログラムしましたが、英語に翻訳して理解しやすくなりました)。 ここでは、コードを持っている:私はこのプログラムを実行する場合小さなゲームコードを実行しようとするとエラーが表示されます

import random 
import time 

print ('Welcome to the Even or Odd game!') 
print ('Type the letter \'o\' if you want odd and \'e\' if you want even.') 

userChoice = input('Your choice: ').lower() 
time.sleep(1) 
userNumber = input('Now, type in a number from 1 to 5: ') 

randomNumber = random.randint(1,5) 
time.sleep(2) 

print ('Your number: ' + str(int(userNumber))) 
time.sleep(2) 
print ('Computer\'s number: ' + str(int(randomNumber))) 
time.sleep(2) 

result = userNumber + randomNumber 
print ('Adding these two numbers together, you have ' + str(result)) 
if result % 2 == 0: 
    if userChoice == 'e' or 'even': 
     print ('You won!') 
    else: 
     print ('You lost!') 
else: 
    if userChoice == 'o' or 'odd': 
     print ('You won!') 
    else: 
     print ('You lost!') 

私はTypeError例外を取得します。 result = userNumber + computerNumberを実行しようとすると発生します。 アイデアどうもありがとうございます!

+1

https://stackoverflow.com/q/15112125/2301450 – vaultah

+0

vaultah、申し訳ありませんが、私はより深く見てきたはずです、ありがとうございました。私はもう一度やりません、私は約束します! :) –

答えて

1

ユーザーの入力を受け入れると、文字列として格納されます。文字列と整数を追加しようとしているため、エラーが発生しています。

int()関数を使用すると、文字列を整数に変換できます。ですから、たとえば行うことができます。また

result = int(userNumber) + int(randomNumber) 
関連する問題