我正试图想出一个简单的计算器,它接受用户的输入并进行计算,但它不断抛出错误。你知道吗
raw = input("Raw Formatting:")
disk = input("On-disk formatting:")
slack = input("Slack space:")
quest = input("Select protection; 1=FTT, 2=EC-1, 3=EC-2:")
if quest == 1:
answer = raw * (1-disk) * (1-slack) * 0.5
print (answer)
elif quest == 2:
answer = raw * (1-disk) * (1-slack) * 0.75
print (answer)
elif quest == 3:
answer = raw * (1-disk) * (1-slack) * 0.67
print (answer)
else:
print ("You didn't provide a valid protection level")
输出:
Raw Formatting:24
On-disk formatting:0.1
Slack space:0.3
Select protection; 1=FTT, 2=EC-1, 3=EC-2:1
Traceback (most recent call last):
File "C:\Users\Ed\Desktop\hello.py", line 7, in <module>
answer = raw * (1-disk) * (1-slack) * 0.5
TypeError: unsupported operand type(s) for -: 'int' and 'str'
任何帮助都将不胜感激。你知道吗
谢谢
您正在比较字符串和整数。你知道吗
您应该(使用所有变量):
然后比较一下你现在的表现。你知道吗
师父的回答是正确的:
你正在接受一个输入,它是一个字符串,不管输入什么,然后你试图用一个字符串和一个整数执行一个数学运算。你知道吗
在执行数学函数时,需要将字符串转换为int或将其称为int。你知道吗
示例一:
例2
您还需要检查以确保返回的结果将计算为整数,您希望的错误越少。。首先要做的是从输入中去掉空格
然后您应该确保您的输入(字符串值)是数字。你知道吗
或者,有更多的Python的方式来执行我给出的答案,但我认为答案是适合你目前 你应该能处理这个。。 阅读文档https://docs.python.org/3/library/
相关问题 更多 >
编程相关推荐