Python程序设计 week01 Q2

数值运算
描述
获得用户输入的一个字符串,格式如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

M OP N‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

根据OP,输出M OP N的运算结果,统一保存小数点后2位。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。

输入输出示例
输入 输出
示例 1
10 + 100
1 / 20
Python程序设计 week01 Q2_第1张图片

string = input()
op_num = 0
op = ['+', '-', '*', '/']
for i, s in enumerate(string):
    if s in op and i!=0:
        op_num = i
        if string[0] == '-':
            num1 = -float((string[1:i]).strip())
        elif string[0:2] == '0x':
            num1 = int(eval((string[:i]).strip()))
        else:
            num1 = float((string[0:i]).strip())
        num2 = float((string[i+1:]).strip())

        
        if s == op[0]:
            print('{:.2f}'.format(num1 + num2))
        elif s == op[1]:
            print('{:.2f}'.format(num1 - num2))
        elif s == op[2]:
            print('{:.2f}'.format(num1 * num2))
        else:
            print('{:.2f}'.format(num1 / num2))

你可能感兴趣的:(Python)