我想做一个非常基本的计算器,只需一个输入就可以工作,但我正在努力

2024-06-16 13:20:51 发布

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

所以我有两个不同的计算器代码,一个是有点高级,而另一个是未完成的。我试图得到帮助,要么使我完成的一个有点基本,因为我不知道该采取什么方法,使它下降一个档次,或帮助我完成我的其他代码。你知道吗

所以我试着让计算器基本上工作,但它有3个不同的输入,我只需要一个输入计算出来。你知道吗

成品(先进品种)

未完成的产品


Tags: 方法代码产品计算器成品品种档次
2条回答

不确定这是否被认为是基本的,但是考虑eval()函数。基本上,它将输入转换为python代码并运行它,因为用户输入可能与python代码相同,所以您可以只运行输入。你知道吗

expr = input("In: ")
print(eval(expr))

我不相信你会变得比第一个版本简单得多。你知道吗

我建议的唯一调整是,如果你只处理只有一个数学运算符的计算,你可以使用elif语句,这样一旦找到正确的运算符,你就不用费心去检查了。类似于你的第二个版本。你知道吗

user_input = input("In:")

    if '+' in user_input:
        exp = user_input.split('+')
        print("The result is: {0}".format(int(int(exp[0]) + int(exp[1]))))
    elif '-' in user_input:
        exp = user_input.split('-')
        print("The result is: {0}".format(int(int(exp[0]) - int(exp[1]))))
    elif '*' in user_input:
        exp = user_input.split('*')
        print("The result is: {0}".format(int(int(exp[0]) * int(exp[1]))))
    elif '/' in user_input:
        exp = user_input.split('/')
        print("The result is: {0}".format(int(int(exp[0]) / int(exp[1]))))
    elif '%' in user_input:
        exp = user_input.split('%')
        print("The result is: {0}".format(int(int(exp[0]) % int(exp[1]))))

相关问题 更多 >