除法的Python问题

除法的Python问题,python,calculator,Python,Calculator,我一直在尝试做一个计算器,输入一个数字,然后计算器将它除以10,再乘以4,算出40%,然后打印出最终的数字 a = input("Enter amount: ") b = a / 10 c = b * 4 print(c) 运行代码时,我收到以下错误消息: TypeError:/:“str”和“int”的操作数类型不受支持 a = int(input("Enter amount: ")) b = a / 10 c = b * 4 print(c) 正常输入将输入作为字符串,您需要将其转换为i

我一直在尝试做一个计算器,输入一个数字,然后计算器将它除以10,再乘以4,算出40%,然后打印出最终的数字

a = input("Enter amount: ")
b = a / 10
c = b * 4
print(c)
运行代码时,我收到以下错误消息: TypeError:/:“str”和“int”的操作数类型不受支持

a = int(input("Enter amount: "))
b = a / 10
c = b * 4
print(c)

正常输入将输入作为
字符串
,您需要将其转换为
int

您应该始终努力使代码量最小化以完成任务。没有理由让三个独立的变量得出你的答案

如果您确定总是输入一个整数,则可以执行一行程序,如:

print(int(input("Enter amount: ")) * 0.4)
但是,不能保证输入为整数,因此需要进行一些错误检查

您的错误是由于
input
总是返回字符串。你必须有一个int或float来做基本的数学运算。因此,您可以通过几种方法来实现这一点

您可以在输入语句上使用
int()
,如
int(输入(“输入金额”)
,但用户键入int以外的任何内容时,都会出现错误

我这样做的方法是检查输入的值是否为int,然后继续

def if_int_get_40_percent():

    try:
        print(int(input("Enter amount: ")) * 0.4)
    except:
        if_int_get_40_percent()

if_int_get_40_percent()

你为什么要这样做?您只需执行
a*0.4
即可获得40%的快速提示,如果用户要键入字符串(例如某些单词),这将崩溃。是的,那么您需要在try catch块中检查它以显示异常?就像只允许数字一样,您也可以检查类型以确保其是否为数字:)谢谢您的帮助,我对stackoverflow和Python还是相当陌生的:D