简易计算器程序分析
题目描述
编写一个简单的计算器程序,支持加法、减法、乘法和除法操作。程序需要处理非法输入(如非数字、无效操作符等)以及除以零的情况,并允许用户随时退出。
代码功能分析
-
功能模块化
• 运算函数:定义了 add(加)、subtract(减)、multiply(乘)、divide(除)函数,分别实现基本的四则运算。
• 除法函数:包含除以零的检查,避免程序崩溃。
• 主函数 calculator:负责程序整体逻辑,包括:
• 与用户交互。
• 验证用户输入是否合法。
• 调用运算函数完成计算。
• 输出结果。 -
主逻辑
- 循环控制:
• 用 while True 循环实现持续运行,直到用户输入 exit 退出。
• 嵌套 while 验证输入的数字是否有效,防止非法输入。 - 用户输入:
• 提示用户输入操作符(+, -, *, /),并检查是否有效。
• 提示输入两个数字,验证数字合法性。 - 运算分支:
• 根据操作符选择对应的运算函数(+ 调用 add,- 调用 subtract 等)。
• 输出计算结果。 - 用户友好性:
• 非法输入时给出明确提示,例如:
• 非法操作符:提示重新输入。
• 非数字:提示输入有效数字。
• 支持用户随时输入 exit 退出程序。
- 循环控制:
代码示例
def add(a, b):
return a + b
def subtract(a, b):
return a - b
def multiply(a, b):
return a * b
def divide(a, b):
if b == 0:
return "被除数不能为0"
else:
return a / b
def calculator():
result = 0
print("欢迎使用计算器")
while True:
op = input("请输入操作符+-*/或输入exit退出:")
if op == "exit":
print("已退出计算器")
break
if op not in "+-*/":
print("请正确输入操作符")
continue
while True:
try:
a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
break
except ValueError:
print("请确保正确输入数字")
continue
if op == '+':
result = add(a, b)
elif op == '-':
result = subtract(a, b)
elif op == '*':
result = multiply(a, b)
elif op == '/':
result = divide(a, b)
print(f"结果为{result}")
break
calculator()
简短步骤
1. 定义四个运算函数:
• add:加法。
• subtract:减法。
• multiply:乘法。
• divide:除法(包含除以零检查)。
2. 主函数 calculator():
• 打印欢迎语。
• 使用 while True 循环,持续获取用户输入。
• 验证操作符是否合法。
• 提示用户输入两个数字,验证数字有效性。
• 调用对应运算函数,输出结果。
• 支持输入 exit 随时退出程序。
运行效果
示例输入:
请输入操作符+-*/或输入exit退出:-
请输入第一个数字:20
请输入第二个数字:5
示例输出:
结果为15
通过这个程序,你可以学习函数的定义与调用、异常处理以及用户交互逻辑。
本文作者为wzzyhg,转载请注明。