Python 简易计算器代码解析及错误修正

print('**简易计算器**')
str = input('请输入算式')
operator = ''
while operator == '':
    if '+' in str:
        operator = '+'
    elif '-' in str:
        operator = '-'
    elif '*' in str:
        operator = '*'
    elif '/' in str:
        operator = '/'
    else:
        str = input('输入错误,请重新输入:')
x = float(str[:str.find(operator)])
y = float(str[str.find(operator):])
result = {
    '+' : x + y,
    '-' : x - y,
    '*' : x * y,
    '/' : x / y
}
print ('结果为,', result.get(operator))

代码解析:

  1. 输入算式: 代码首先提示用户输入算式,并将输入存储在变量 str 中。
  2. 判断运算符: 代码使用 while 循环和一系列 if 语句来判断算式中的运算符。如果找到运算符,则将运算符存储在变量 operator 中,并退出循环。
  3. 提取操作数: 代码使用 str.find(operator) 方法找到运算符在算式中的位置,并使用切片操作提取两个操作数,分别存储在变量 xy 中。
  4. 计算结果: 代码使用字典 result 来存储不同运算符对应的计算结果。根据 operator 的值,从字典中获取相应的计算结果,并输出。

错误修正:

代码中第 9 行 operator = '//' 存在错误。Python 中使用 // 符号进行地板除,它会返回结果的整数部分。为了实现一般的除法运算,应该使用 / 符号。

修正后的代码:

print('**简易计算器**')
str = input('请输入算式')
operator = ''
while operator == '':
    if '+' in str:
        operator = '+'
    elif '-' in str:
        operator = '-'
    elif '*' in str:
        operator = '*'
    elif '/' in str:
        operator = '/'
    else:
        str = input('输入错误,请重新输入:')
x = float(str[:str.find(operator)])
y = float(str[str.find(operator):])
result = {
    '+' : x + y,
    '-' : x - y,
    '*' : x * y,
    '/' : x / y
}
print ('结果为,', result.get(operator))
Python 简易计算器代码解析及错误修正

原文地址: https://www.cveoy.top/t/topic/ospt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录