Python焚诀之判断循环
·
Python焚诀之判断循环

本文通过一系列循序渐进的 Python 编程练习,系统性地讲解了判断与循环结构的核心应用。从简单的四则运算计算器到登录验证系统,每个练习都配有清晰的需求说明和两种不同风格的代码实现(标准版与简洁版),帮助初学者从理解到实践,再到优化扩展。文章最后总结了循环控制、条件判断、输入输出等核心知识点,并提供了从模仿到项目整合的完整学习路径建议,是 Python 入门阶段巩固基础、提升编程思维的实用指南。
题目1:简单四则运算计算器
需求:
- 程序循环提示用户输入运算符(
+ - * /)或q退出 - 输入运算符后,提示输入两个数字(分两次)
- 计算并打印结果
- 除法时,如果第二个数字为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:连续累加器
需求:
- 程序不断提示用户输入一个整数
- 每次输入后,累加所有输入的数字,并打印当前总和
- 如果用户输入
0,不累加但继续循环(使用continue) - 如果用户输入
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:成绩等级判断器
需求:
- 程序不断提示用户输入一个成绩(0-100)
- 判断并打印等级:
- 90-100 → 优秀
- 80-89 → 良好
- 70-79 → 中等
- 60-69 → 及格
- 0-59 → 不及格
- 如果用户输入
q,退出程序 - 如果输入的成绩不在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-10 → “小数字”
- 11-50 → “中数字”
- 51-100 → “大数字”
- 其他 → “超出范围”
- 如果用户输入
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:登录验证系统
需求:
- 预设用户名
admin,密码123456 - 程序提示用户输入用户名和密码(分两次输入)
- 如果用户名或密码错误,提示"用户名或密码错误,还剩X次机会"(总共3次机会)
- 如果3次都错误,打印"账户已锁定"并退出程序
- 如果输入正确,打印"登录成功!"并退出循环
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:数字奇偶判断器
需求:
- 程序提示用户输入一个整数
- 判断该数字是奇数还是偶数,并打印结果
- 判断完成后,询问"继续判断?(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基础语法的应用更加熟练。
更多推荐

所有评论(0)