Python焚诀之判断循环

0

本文通过一系列循序渐进的 Python 编程练习,系统性地讲解了判断与循环结构的核心应用。从简单的四则运算计算器到登录验证系统,每个练习都配有清晰的需求说明和两种不同风格的代码实现(标准版与简洁版),帮助初学者从理解到实践,再到优化扩展。文章最后总结了循环控制、条件判断、输入输出等核心知识点,并提供了从模仿到项目整合的完整学习路径建议,是 Python 入门阶段巩固基础、提升编程思维的实用指南。

题目1:简单四则运算计算器

需求:

  1. 程序循环提示用户输入运算符(+ - * /)或 q 退出
  2. 输入运算符后,提示输入两个数字(分两次)
  3. 计算并打印结果
  4. 除法时,如果第二个数字为0,提示"除数不能为0"

1

while True:
    operator = input("请输入运算符 (+ - * /) 或 q 退出: ")
    
    if operator == 'q':
        print("程序已退出")
        break
    
    if operator == '+':
        num1 = float(input("请输入第一个数字: "))
        num2 = float(input("请输入第二个数字: "))
        print("结果:", num1 + num2)
    elif operator == '-':
        num1 = float(input("请输入第一个数字: "))
        num2 = float(input("请输入第二个数字: "))
        print("结果:", num1 - num2)
    elif operator == '*':
        num1 = float(input("请输入第一个数字: "))
        num2 = float(input("请输入第二个数字: "))
        print("结果:", num1 * num2)
    elif operator == '/':
        num1 = float(input("请输入第一个数字: "))
        num2 = float(input("请输入第二个数字: "))
        if num2 == 0:
            print("除数不能为0")
        else:
            print("结果:", num1 / num2)
    else:
        print("请输入正确的运算符")

2

while True :
    op = input('please input op:')
    if op == 'q':
        print('is over!')
        break
    a = int(input('please give me the first number:'))
    b = int(input('please give me the second number:'))
    if op == '+':
        print(a+b)
    elif op == '-':
        print(a-b)
    elif op == '*':
        print(a*b)
    elif op == '/':
        if b == 0:
            print('error!')
        else :
            print(a/b)

题目2:连续累加器

需求:

  1. 程序不断提示用户输入一个整数
  2. 每次输入后,累加所有输入的数字,并打印当前总和
  3. 如果用户输入 0不累加但继续循环(使用 continue
  4. 如果用户输入 q,退出程序并打印"程序结束,总和为:XXX"

1

total = 0

while True:
    user_input = input("请输入一个整数(输入0不累加,输入q退出): ")
    
    if user_input == 'q':
        print("程序结束,总和为:", total)
        break
    
    num = int(user_input)
    
    if num == 0:
        print("输入为0,不累加")
        continue
    
    total = total + num
    print("当前总和:", total)

2

s = 0
while True :
    a = input('put a num:')
    if a == 'q' :
        print(f'the sum is {s}')
        break
    if a == '0' :
        continue
    b = int(a)
    s += b

题目4:成绩等级判断器

需求:

  1. 程序不断提示用户输入一个成绩(0-100)
  2. 判断并打印等级:
    • 90-100 → 优秀
    • 80-89 → 良好
    • 70-79 → 中等
    • 60-69 → 及格
    • 0-59 → 不及格
  3. 如果用户输入 q,退出程序
  4. 如果输入的成绩不在0-100范围,提示"成绩必须在0-100之间"并重新输入

1

while True:
    user_input = input("请输入成绩(0-100),输入q退出: ")
    
    if user_input == 'q':
        print("程序已退出")
        break
    
    score = float(user_input)
    
    if score < 0 or score > 100:
        print("成绩必须在0-100之间")
        continue
    
    if score >= 90:
        print("优秀")
    elif score >= 80:
        print("良好")
    elif score >= 70:
        print("中等")
    elif score >= 60:
        print("及格")
    else:
        print("不及格")

2

while True :
    s = input('show your score:')
    if s == 'q' :
        print('it is over!')
        break
    a= int(s)
    if a < 0 or a >100:
        print('are you kidding?')
    if a >= 90 :
        print('A')
    elif a >= 80 :
        print('B')
    elif a >= 70 :
        print('C')
    elif a >= 60 :
        print('D')
    else :
        print('F')

题目6:区间判断器

需求:

  1. 程序不断提示用户输入一个整数
  2. 判断该数字属于哪个区间并打印对应信息:
    • 1-10 → “小数字”
    • 11-50 → “中数字”
    • 51-100 → “大数字”
    • 其他 → “超出范围”
  3. 如果用户输入 exit,退出程序

1

while True:
    user_input = input("请输入一个整数(输入exit退出): ")
    
    if user_input == 'exit':
        print("程序已退出")
        break
    
    num = int(user_input)
    
    if num >= 1 and num <= 10:
        print("小数字")
    elif num >= 11 and num <= 50:
        print("中数字")
    elif num >= 51 and num <= 100:
        print("大数字")
    else:
        print("超出范围")

2

while True:
    s=(input('give me a num:'))
    if s == 'exit' :
        break
    b = int(s)
    if 0 < b <=10 :
        print(f'{b} is a small num!')
    elif 10 < b <=50 :
        print(f'{b} is a mid num!')
    elif 50 < b <=100 :
        print(f'{b} is a large num!')
    else :
        print(f'beyond range !')

题目7:登录验证系统

需求:

  1. 预设用户名 admin,密码 123456
  2. 程序提示用户输入用户名和密码(分两次输入)
  3. 如果用户名或密码错误,提示"用户名或密码错误,还剩X次机会"(总共3次机会
  4. 如果3次都错误,打印"账户已锁定"并退出程序
  5. 如果输入正确,打印"登录成功!"并退出循环

1

attempts = 3

while attempts > 0:
    username = input("请输入用户名: ")
    password = input("请输入密码: ")
    
    if username == 'admin' and password == '123456':
        print("登录成功!")
        break
    else:
        attempts = attempts - 1
        if attempts > 0:
            print("用户名或密码错误,还剩", attempts, "次机会")
        else:
            print("账户已锁定")

2

cnt = 0
for i in range(3) :
    name = input('give the name:')
    password= int(input('give the password:'))
    if name == 'admin' and password == 123456 :
        print(f'login success!')
        break
    else :
        e = 2 - cnt
        print(f'login fail!You only have {e} opportunities !')
        cnt += 1
    if cnt == 3 :
        print('Account is locked.')
        break

题目8:数字奇偶判断器

需求:

  1. 程序提示用户输入一个整数
  2. 判断该数字是奇数还是偶数,并打印结果
  3. 判断完成后,询问"继续判断?(y/n)"
    • 如果输入 y,继续循环
    • 如果输入 n,退出程序
    • 如果输入其他内容,提示"请输入 y 或 n"并重新询问

1

while True:
    num = int(input("请输入一个整数: "))
    
    if num % 2 == 0:
        print(num, "是偶数")
    else:
        print(num, "是奇数")
    
    again = input("继续判断?(y/n): ")
    if again == 'n':
        print("程序已退出")
        break

2

while True:
    a = int(input('judge odd or even:'))
    if a % 2 == 0:
        print('even')
    else:
        print('odd')
    while True :
            s = input('Are you continue?')
            if s == 'yes':
                break
            elif s == 'no':
                print('byebye~')
                exit()
            else:
                print('please input yes or no !')

Python焚诀之判断循环

本次练习涵盖了分支判断、循环控制和累加操作等基础编程内容。在成绩等级判定中,主要问题在于条件顺序的安排,将范围检查放在首位、成绩区间按从高到低依次排列,可避免逻辑覆盖错误。猜数字游戏的核心在于无限循环与退出条件的配合,通过break语句在猜中时终止循环,同时使用计数器记录猜测次数。偶数求和与被5整除求和两道题,重点在于range函数步长参数的应用,直接从起始值开始以指定步长遍历,省去了条件判断语句,使代码更加简洁。数字累加器的实现关键在于累加与退出的顺序,先判断是否为0再执行累加操作,避免将结束标记计入总和。最后一题考察了区间遍历与取余运算的结合使用,按用户指定范围遍历并筛选满足条件的数进行累加。通过这些练习,我掌握了分支结构的条件排列原则、循环控制语句的使用方法以及累加器模式的正确实现方式,对Python基础语法的应用更加熟练。

更多推荐