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

时间:2019-04-21 02:38:33

标签: java python

因此,我有2个不同的计算器代码,一个代码需要进一步改进,而另一个代码尚未完成。我试图获得帮助,使完成的代码变得有些基础,因为我不知道采用什么方法来降低它的档次,或者不帮助我完成其他代码。

因此,我试图使计算器工作起来非常基本,但是它具有3种不同的输入,而我只需要一个输入就可以计算出来。

成品(高级一类)

未完成的产品

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分: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]))))