简单计算器

所属作业: hw4 算法: 分支

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 从输入中读取一行数据,并将其分割成三个部分
# 第一个部分为整数a,第二个部分为整数b,第三个部分为操作符op
a, b, op = input().split()

# 将字符串类型的a和b转换为整数类型
a, b = int(a), int(b)

# 根据操作符op进行不同的运算
if op == "+":
    # 如果操作符是加法,则输出a与b的和
    print(a + b)
elif op == "-":
    # 如果操作符是减法,则输出a与b的差
    print(a - b)
elif op == "*":
    # 如果操作符是乘法,则输出a与b的积
    print(a * b)
elif op == "/":
    # 如果操作符是除法,则需要检查除数b是否为0
    if b == 0:
        # 如果b为0,输出错误信息
        print("Divided by zero!")
    else:
        # 否则,输出a与b的商(整除)
        print(a // b)
else:
    # 如果操作符不是有效的四种运算符之一,输出错误信息
    print("Invalid operator!")

错误代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
a,b,c=input().split()
a=int(a)
b=int(b)
if c=='+'  :
    print(a+b)
elif c=='-' :
    print(a-b)
elif c=='*' :
    print(a*b)
elif b==0 and c=='/' :
    print('Divided by zero!')
elif b!=0 and c=='/':
    print(a/b)
else :
    print('Invalid operator!')

修正

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
a,b,c=input().split()
a=int(a)
b=int(b)
if c=='+'  :
    print(a+b)
elif c=='-' :
    print(a-b)
elif c=='*' :
    print(a*b)
elif b==0 and c=='/' :
    print('Divided by zero!')
elif b!=0 and c=='/':
    print(a//b)
else :
    print('Invalid operator!')

拓展

使用 eval 函数计算表达式的值

1
2
3
    # 使用 eval 函数计算表达式的值
    # eval(a + op + b) 将字符串拼接成一个数学表达式并计算
    print(eval(a + op + b))