类型错误:在数学方程中无法隐式地将'int'变量转换为str

2024-10-05 11:41:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python还不熟悉,但我试着把DogAge放入一个数学方程中,仍然不起作用

Animal = input("dog or cat? ")

if Animal == "dog":
    DogAge = int(input("how old is you dog? "))
else:
    CatAge = int(input("how old is your cat? "))

if DogAge == 1:
    print("your dog's age is 11")
elif DogAge == 2:
    print("your dog's age is 22")
else:
    print("your dog's age is " + (DogAge - 2 * 4 + 22))

给出:

^{pr2}$

Tags: inputageyourifis数学elseold
3条回答

另一种解决方案:

print("your dog's age is {0}".format((DogAge - 2) * 4 + 22))

(假设您要计算(DogAge-2) * 4 + 22,而不是{})。在

错误指出了出了什么问题。更改此项:

print("your dog's age is " + (DogAge - 2 * 4 + 22))

为此:

^{pr2}$

不能用整数连接字符串对象。在

您可能需要考虑以不同的方式重新组织代码,将计算狗的年龄和实际打印的值分开。在

因为如果代码变得更复杂,那么以后可以将代码重构为函数。在

Animal = input("dog or cat? ")

if Animal == "dog":
    DogAge = int(input("how old is you dog? "))
else:
    CatAge = int(input("how old is your cat? ")) 

if DogAge == 1:
    calculated_dogs_age = 11
elif DogAge == 2:
    calculated_dogs_age = 22
else:
    calculated_dogs_age = DogAge - 2 * 4 + 22

print("your dog's age is {0:d}".format(calculated_dogs_age))

相关问题 更多 >

    热门问题