我的代码出现类型错误,其中显示 your_value1 = ((20)/miles_gallon)*dollars_gallon 。我不知道如何解决类型错误

问题描述 投票:0回答:1
miles_gallon = input()
dollars_gallon = input()

your_value1 = ((20)/miles_gallon)*dollars_gallon
your_value2 = 75
your_value3 = 100

print(f'({your_value1:.2f} {your_value2:.2f} {your_value3:.2f})')

我尝试通过更改数学运算来解决该问题,但我相信我需要指定该值是 float 类型。

python typeerror
1个回答
1
投票

错误消息(您未能发布)非常清楚。

TypeError: unsupported operand type(s) for /: 'int' and 'str'

表示不支持“/”的操作数。也就是说,“/”的实现不接受左侧的 int 和右侧的 str。 这是有道理的。您想如何将整数除以字符串? 因此,如果您尝试将字符串转换为 int 或 float:

miles_gallon = int(input())

它会起作用的。请注意,如果您键入非数字字符串,它会在尝试转换时准确地告诉您:

ValueError: invalid literal for int() with base 10: 'e'
© www.soinside.com 2019 - 2024. All rights reserved.