Python学习(11)编写一个简单的计算器
下面是一个使用Python编写的简单计算器示例。这个计算器可以进行基本的加、减、乘、除运算。我们将使用一个简单的命令行界面来与用户交互。
def add(x, y):
"""相加"""
return x + y
def subtract(x, y):
"""相减"""
return x - y
def multiply(x, y):
"""相乘"""
return x * y
def divide(x, y):
"""相除"""
if y == 0:
return "错误!除数不能为零。"
return x / y
def calculator():
print("选择运算:")
print("1. 相加")
print("2. 相减")
print("3. 相乘")
print("4. 相除")
while True:
choice = input("输入你的选择(1/2/3/4): ")
if choice in ['1', '2', '3', '4']:
try:
num1 = float(input("输入第一个数字: "))
num2 = float(input("输入第二个数字: "))
except ValueError:
print("输入无效!请输入一个数字。")
continue
if choice == '1':
print(f"{num1} + {num2} = {add(num1, num2)}")
elif choice == '2':
print(f"{num1} - {num2} = {subtract(num1, num2)}")
elif choice == '3':
print(f"{num1} * {num2} = {multiply(num1, num2)}")
elif choice == '4':
result = divide(num1, num2)
print(f"{num1} / {num2} = {result}")
# 询问用户是否继续计算
next_calculation = input("你想继续计算吗?(yes/no): ")
if next_calculation.lower() != 'yes':
break
else:
print("输入无效,请重新输入")
print("感谢使用计算器!")
if __name__ == "__main__":
calculator()
代码说明:
函数定义:
add(x, y)
: 返回两个数的和。subtract(x, y)
: 返回两个数的差。multiply(x, y)
: 返回两个数的积。divide(x, y)
: 返回两个数的商,如果除数为零,则返回错误信息。
主函数
calculator
:- 打印运算选项菜单。
- 使用
while
循环来持续与用户交互,直到用户选择退出。 - 根据用户的选择调用相应的运算函数,并打印结果。
- 询问用户是否继续计算,如果用户选择
no
,则退出循环。
输入验证:
- 使用
try-except
块来捕获用户输入的非数字值,并提示用户重新输入。 - 检查用户选择是否为有效的运算选项。
- 使用
程序入口:
- 使用
if __name__ == "__main__":
来确保当脚本作为主程序运行时才执行calculator
函数。
- 使用