尝试执行小游戏代码时输入错误

时间:2017-07-04 22:46:04

标签: python python-3.x

我试图在这里编写一个小游戏来向某人展示,但我遇到了麻烦。当我尝试两个值的总和时,它只是说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 个答案:

答案 0 :(得分:1)

当您接受用户的输入时,它将被存储为字符串。您因为尝试添加字符串和整数而收到错误。

您可以使用int()函数将字符串转换为整数。所以你可以这样做:

result = int(userNumber) + int(randomNumber)