🧠 Python 简易计算器知识点整理

wzzyhg 9 0

✅ 1. map() 函数的用法

a, b = map(int, input("请输入两个数字,空格分开").split(" "))

• input():获取用户输入,例如 "3 4"
• .split(" "):以空格分割字符串,结果是 ["3", "4"]
• map(int, ...):把字符串列表转成整数列表
• a, b = ...:解包赋值

📌 作用:快速接收多个整数输入。

✅ 2. 条件判断 not op or op not in "+-*/"

elif not op or op not in "+-*/":

• not op:判断是否输入为空字符串
• op not in "+-*/":是否为非法运算符
• or:只要有一个为 True,就提示重新输入

✅ 更易读写法:

if op == "" or op not in "+-*/":

✅ 3. 异常处理 try ... except

try:
a, b = map(int, input(...).split(" "))
except ValueError:
print("请重新输入")
continue

• 捕捉用户输入错误(如 3 a、只输入一个数等)
• 避免程序崩溃
• continue:继续下一轮输入

✅ 4. 函数定义

def add(a, b): return a + b
def jian(a, b): return a - b
def cheng(a, b): return a * b
def chu(a, b): return a / b

📌 每个函数负责一种运算,结构清晰,易维护。

✅ 5. 无限循环 while True
• 外层循环:处理是否继续计算
• 内层循环:处理数字输入错误

while True:
...
while True:
...

✅ 6. 控制流程 break 与 continue
• break:跳出当前循环(用于成功退出或成功计算)
• continue:跳过当前循环本轮,重新开始(用于输入不合法时)

# 定义加法函数
def add(a, b):
    return a + b

# 定义减法函数
def jian(a, b):
    return a - b

# 定义乘法函数
def cheng(a, b):
    return a * b

# 定义除法函数
def chu(a, b):
    return a / b

# 定义主计算函数
def jisuan():
    while True:
        # 提示用户输入运算符或退出
        op = input("请输入要计算的类型+-*/或者输入 exit 退出")

        # 判断是否退出程序
        if op == "exit":
            print("已成功退出")
            break  # 跳出主循环,结束程序

        # 判断输入是否合法(必须是 + - * / 中的一个)
        elif not op or op not in "+-*/":
            print("请重新输入")
            continue  # 重新开始主循环,提示重新输入运算符

        # 如果输入的运算符合法,则开始接收两个数字
        while True:
            try:
                # 提示用户输入两个数字,用空格分隔
                a, b = map(int, input("请输入两个数字,空格分开").split(" "))
            except ValueError:
                # 如果输入格式错误,比如非数字或数量不对
                print("请重新输入")
                continue  # 回到当前循环,继续提示用户输入数字

            # 根据输入的运算符调用对应函数
            if op == "+":
                result = add(a, b)
            elif op == "-":
                result = jian(a, b)
            elif op == "*":
                result = cheng(a, b)
            else:
                result = chu(a, b)

            # 输出计算结果
            print(f"{a}{op}{b}={result}")
            break  # 数字输入正确且计算完毕,跳出内层循环

# 调用主函数,启动程序
jisuan()

发表评论 取消回复
表情 图片 链接 代码

分享