我正在尝试制作一个可以使用一个输入的非常基本的计算器,但我正在努力一点

问题描述 投票:1回答:2

所以我有一个不同的计算器代码,一个是先进的,另一个是未完成的。我正在努力寻求帮助,要么让我的成品有点基本,因为我不知道采取什么方法来降低成绩或帮助我完成其他代码。

所以我试图使计算器工作非常基本但它有3个不同的输入,我需要只用一个输入来解决它。

成品(先进的一种)

未完成的产品

java python
2个回答
0
投票

不确定这是否会被认为是基本的,但请考虑eval()函数。基本上它将输入转换为python代码并运行它,并且由于用户输入可能与python代码相同,因此您只需运行输入即可。

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

0
投票

我不相信你会比第一个版本复杂得多。

我可以建议的唯一调整是,如果你只处理具有单个数学运算符的计算,你可以使用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]))))
© www.soinside.com 2019 - 2024. All rights reserved.