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))
代码解析:
- 输入算式: 代码首先提示用户输入算式,并将输入存储在变量
str中。 - 判断运算符: 代码使用
while循环和一系列if语句来判断算式中的运算符。如果找到运算符,则将运算符存储在变量operator中,并退出循环。 - 提取操作数: 代码使用
str.find(operator)方法找到运算符在算式中的位置,并使用切片操作提取两个操作数,分别存储在变量x和y中。 - 计算结果: 代码使用字典
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))
原文地址: https://www.cveoy.top/t/topic/ospt 著作权归作者所有。请勿转载和采集!