不确定如何修复此错误。新编码并且不熟悉此错误类型。
def main():
hits = int(input("Hits"))
walks = int(input("Walks"))
HBP = int(input("Hit by Pitch"))
AB = int(input("At Bats"))
SF = int(input("Sacrifice Flies"))
obPercentage = ("hits + walks + HBP") / ("AB + walks + HBP + SF")
print("obPercentage")
main()
这是错误:
obPercentage = ("hits + walks + HBP") / ("AB + walks + HBP + SF")
TypeError: unsupported operand type(s) for /: 'str' and 'str'
答案 0 :(得分:3)
您正在证明对变量与字符串的误解。这在新手程序员中并不少见。
当你在引号中添加某些内容时,它会成为“字符串”(或Python中的str
)。这类似于1
int
。引号之外的名称(不是if
,while
,for
,and
等关键字)是一个变量。对于这样的语言,您可以将变量视为应用于存储区域的标签。
a = 'x'
a
是一个名称,用于表示仅包含字母"x"
的字符串。当你说
("hits + walks + HBP") / ("AB + walks + HBP + SF")
你说的是"hello"/"goodbye"
,这显然并不代表任何有趣的东西。删除引号将使用这些名称引用的值
obPercentage = (hits + walks + HBP) / (AB + walks + HBP + SF)
答案 1 :(得分:1)
更改
obPercentage = ("hits + walks + HBP") / ("AB + walks + HBP + SF")
到
obPercentage = (hits + walks + HBP) / (AB + walks + HBP + SF)
您可能还希望首先将操作数转换为浮动。
答案 2 :(得分:1)
删除双引号
obPercentage = (hits + walks + HBP) / (AB + walks + HBP + SF)
print(obPercentage)
答案 3 :(得分:1)
删除所有引号,它应该有效。对于这种事情你不需要在这里发布,快速谷歌搜索可以解决你的问题。