当前位置:首页>python>python 一个简单的计算器函数calculator()

python 一个简单的计算器函数calculator()

  • 2026-09-02 19:59:52
python 一个简单的计算器函数calculator()
"有人说梅花香自苦寒来,我却偏爱它凌寒绽放时的絮语——那些关于生活的温柔,关于情感的细语。我是小梅,随心而走,与你分享这些小确幸。"
今天来学习一个python的计算器函数案例:
[root@localhost py]# cat -n jisuanqi.py      1  #!/usr/bin/python     2  # -*- coding: UTF-8 -*-      3  def calculator():     4      try:     5          num1 = float(input("输入第一个数字:"))     6          operator = input("输入运算符(+, -, *, /):")     7          num2 = float(input("输入第二个数字:"))     8          9          if operator == "+":    10              print(f"结果:{num1 + num2}")    11          elif operator == '-':    12              print(f"结果:{num1 - num2}")    13          elif operator == '*':    14              print(f"结果:{num1 * num2}")    15          elif operator == '/':    16              if num2 != 0:    17                  print(f"结果:{num1 / num2}")    18              else:    19                  print("错误:除数不能为零!")    20          else:    21              print("无效运算符!")    22      except ValueError:    23          print("错误:请输入数字!")    24    25  calculator()

1、计算23+4输出结果:

[root@localhost py]# python3 jisuanqi.py 输入第一个数字:23输入运算符(+, -, *, /):+输入第二个数字:4     结果:27.0

2、计算4-2输出结果:

[root@localhost py]# python3 jisuanqi.py 输入第一个数字:4输入运算符(+, -, *, /):-输入第二个数字:2结果:2.0

3、计算5*5输出结果:

[root@localhost py]# python3 jisuanqi.py 输入第一个数字:5输入运算符(+, -, *, /):*输入第二个数字:5结果:25.0

4、计算14/2输出结果:

[root@localhost py]# python3 jisuanqi.py 输入第一个数字:14输入运算符(+, -, *, /):/输入第二个数字:2结果:7.0

5、计算除数为0输出结果:

[root@localhost py]# python3 jisuanqi.py 输入第一个数字:12输入运算符(+, -, *, /):/输入第二个数字:0错误:除数不能为零!

6.计算0除以2输出结果:

[root@localhost py]# python3 jisuanqi.py 输入第一个数字:0输入运算符(+, -, *, /):/输入第二个数字:2结果:0.0

7.运算符异常输出结果:

[root@localhost py]# python3 jisuanqi.py 输入第一个数字:23输入运算符(+, -, *, /):lj输入第二个数字:23无效运算符!

8.输入非数字输出结果:

[root@localhost py]# python3 jisuanqi.py 输入第一个数字:asd错误:请输入数字!

这段Python代码定义了一个简单的计算器函数calculator(),使用try-except结构进行异常处理。下面分步骤解析:

1. try的作用

try是Python异常处理机制的关键字,用于包裹可能引发异常的代码块。当try块内的代码执行时:

    如果代码正常执行(无异常),则跳过对应的except块如果代码引发异常(如类型错误、除零错误等),程序会立即中断try块的执行,跳转到匹配的except块处理异常

    在代码中,try包裹了以下可能出错的步骤:

    num1 = float(input("输入第一个数字: "))  # 可能引发ValueErroroperator = input("输入运算符 (+, -, *, /): ")num2 = float(input("输入第二个数字: "))  # 可能引发ValueError

    2. except ValueError:的作用

    这是异常处理的具体实现:

    • ValueError是Python内置异常类型,表示参数类型正确但值不合法

    • 当float()函数无法将用户输入的字符串转换为浮点数时(如输入"abc"),会抛出ValueError

    • except ValueError:会捕获这个异常,并执行对应的错误处理代码:

    print("错误:请输入数字!")

    3.关键设计亮点

    • 输入验证:通过float()转换确保输入是数字,配合except ValueError处理非数字输入

    • 除零保护:在除法运算前显式检查num2 != 0,避免ZeroDivisionError

    • 运算符验证:通过if-elif结构确保只处理四种有效运算符

    • 错误隔离:将用户输入和运算逻辑放在try块,错误处理放在except块,符合异常处理最佳实践

    4.扩展建议 

    如果需要增强这个计算器,可以考虑:

    # 添加更多运算符elif operator == '^':    print(f"结果: {num1 ** num2}")# 添加循环支持连续计算while True:    calculator()    if input("继续?(y/n)") == 'n':        break

    这种try-except结构在Python中被称为EAFP(Easier to Ask for Forgiveness than Permission)编程风格,是处理可能异常的标准方式,比先检查再操作(LBYL)更符合Python的哲学。

    最新文章

    随机文章