028. 编写一个函数,实现简单的计算器功能,支持加减乘除
在 Python 中,可以编写一个简单的计算器函数,支持加、减、乘、除四种基本运算。以下是一个示例代码,展示如何实现这个功能:
示例代码
def simple_calculator():
"""
简单的计算器函数,支持加、减、乘、除四种运算。
"""
print("欢迎使用简单计算器!")
print("支持的操作:加(+)、减(-)、乘(*)、除(/)")
try:
# 获取用户输入的第一个数字
num1 = float(input("请输入第一个数字:"))
# 获取用户输入的操作符
operator = input("请输入操作符(+、-、*、/):")
# 获取用户输入的第二个数字
num2 = float(input("请输入第二个数字:"))
# 根据操作符执行相应的运算
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
if num2 == 0:
print("错误:除数不能为零!")
return
result = num1 / num2
else:
print("无效的操作符!")
return
# 打印结果
print(f"结果:{num1} {operator} {num2} = {result}")
except ValueError:
print("输入无效,请输入有效的数字!")
except Exception as e:
print(f"发生了一个错误:{e}")
# 调用计算器函数
simple_calculator()
运行示例
假设用户输入如下内容:
请输入第一个数字:10
请输入操作符(+、-、*、/):+
请输入第二个数字:5
运行结果如下:
欢迎使用简单计算器!
支持的操作:加(+)、减(-)、乘(*)、除(/)
结果:10.0 + 5.0 = 15.0
代码解释
函数定义:
- 定义了一个名为
simple_calculator
的函数,用于实现简单的计算器功能。
用户输入:
-
使用
input()
函数获取用户输入的第一个数字、操作符和第二个数字。 -
使用
float()
将输入的字符串转换为浮点数。
异常处理:
- 使用
try-except
块捕获可能的异常,例如用户输入的不是数字或除数为零的情况。
运算逻辑:
-
根据用户输入的操作符,执行相应的运算:
-
加法:
num1 + num2
-
减法:
num1 - num2
-
乘法:
num1 * num2
-
除法:
num1 / num2
,并检查除数是否为零。
打印结果:
- 使用
print()
函数打印运算结果。
扩展:支持多次运算
如果需要支持用户进行多次运算,可以在函数中添加一个循环,直到用户选择退出。以下是改进后的代码:
def simple_calculator():
"""
简单的计算器函数,支持加、减、乘、除四种运算。
"""
while True:
print("\n欢迎使用简单计算器!")
print("支持的操作:加(+)、减(-)、乘(*)、除(/)")
print("输入 'q' 退出计算器。")
# 获取用户输入的第一个数字
num1 = input("请输入第一个数字:")
if num1.lower() == 'q':
print("退出计算器。")
break
try:
num1 = float(num1)
except ValueError:
print("输入无效,请输入有效的数字!")
continue
# 获取用户输入的操作符
operator = input("请输入操作符(+、-、*、/):")
if operator.lower() == 'q':
print("退出计算器。")
break
# 获取用户输入的第二个数字
num2 = input("请输入第二个数字:")
if num2.lower() == 'q':
print("退出计算器。")
break
try:
num2 = float(num2)
except ValueError:
print("输入无效,请输入有效的数字!")
continue
# 根据操作符执行相应的运算
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
if num2 == 0:
print("错误:除数不能为零!")
continue
result = num1 / num2
else:
print("无效的操作符!")
continue
# 打印结果
print(f"结果:{num1} {operator} {num2} = {result}")
# 调用计算器函数
simple_calculator()
运行示例
假设用户输入如下内容:
请输入第一个数字:10
请输入操作符(+、-、*、/):+
请输入第二个数字:5
结果:10.0 + 5.0 = 15.0
用户可以选择继续进行新的运算,或者输入 q
退出计算器。
视频讲解
BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)