Python 简易计算器代码解析:除法运算符使用错误

以下代码实现了一个简易的 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))

问题分析:

代码中没有明显的错误行,但是代码中的除法运算符应该是 '/' 而不是 '//'。

原因:

  • '//' 是整除运算符,会返回一个整数结果。例如,10 // 3 的结果为 3。
  • '/' 是除法运算符,会返回一个浮点数结果。例如,10 / 3 的结果为 3.3333333333333335。

解决方案:

将代码中的 '//' 替换为 '/',即可实现正确的除法运算。

修改后的代码:

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/ospW 著作权归作者所有。请勿转载和采集!

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