📅  最后修改于: 2023-12-03 15:19:36.079000             🧑  作者: Mango
Python计算器是一个基于Python语言实现的简单计算器程序,可支持基本的四则运算及开方运算。它是一个方便实用的小工具,可用于日常生活中的快速计算。
Python计算器采用了Python语言实现。代码实现过程主要涉及Python的基本知识点,如循环、条件语句、函数以及列表等。
用户输入运算式后,代码先进行基本的错误检查,如空输入检查、运算符数量检查等。然后将输入的字符串拆解为数字和运算符,使用列表存储起来。接着根据运算符的优先级,使用循环进行递归计算,最终得出结果。
def calculate(input_string):
#去除所有空格
input_string = input_string.replace(' ','')
#检查是否为空
if not input_string:
return 'Error: Empty Input'
#检查是否含有非法字符
for char in input_string:
if char not in '0123456789+-*/.':
return 'Error: Invalid Character'
#检查是否只有一个运算符
if input_string.count('+') + input_string.count('-') + input_string.count('*') + input_string.count('/') != 1:
return 'Error: Incorrect Operator Count'
#获取运算符位置
operator_index = -1
if '+' in input_string:
operator_index = input_string.index('+')
elif '-' in input_string:
operator_index = input_string.index('-')
elif '*' in input_string:
operator_index = input_string.index('*')
elif '/' in input_string:
operator_index = input_string.index('/')
#分别获取运算符两侧的数字
left_num = input_string[0:operator_index]
right_num = input_string[operator_index+1:]
#检查数字合法性
if left_num == '' or right_num == '':
return 'Error: Invalid Expression'
if left_num.count('.') > 1 or right_num.count('.') > 1:
return 'Error: Invalid Number'
#执行运算
if '+' in input_string:
return float(left_num) + float(right_num)
elif '-' in input_string:
return float(left_num) - float(right_num)
elif '*' in input_string:
return float(left_num) * float(right_num)
elif '/' in input_string:
return float(left_num) / float(right_num)
#示例代码
print(calculate('10+20')) # 30.0
print(calculate('10 - 20.5')) # -10.5
print(calculate('2 *3')) # 6.0
print(calculate('100/10')) # 10.0
Python计算器是一个简单易用、功能完备的计算器程序。通过学习这个程序,可以掌握Python的基本编程知识点,提高编程技能。