Files
2025PY/day09/05-综合练习.py
2025-05-22 16:50:44 +08:00

146 lines
4.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 练习 1猜数字游戏使用 break
# 要求: 让用户猜一个数字1-10 之间),如果猜对了,就使用 break 结束循环。
import random
secret_number = random.randint(1, 10)
while True:
guess = int(input("猜一个 1 到 10 之间的数字: "))
if guess == secret_number:
print("恭喜,你猜对了!")
break # 终止循环
else:
print("猜错了,继续猜!")
# 练习 2跳过偶数使用 continue
# 要求: 只打印 1 到 10 之间的奇数,跳过偶数。
num = 0
while num < 10:
num += 1
if num % 2 == 0: # 如果是偶数
continue # 跳过本次循环,进入下一次
print(num)
# 练习 3限制输入次数使用 break 和 continue
# 要求: 用户最多有 3 次机会输入密码,输入正确后结束,否则继续输入。如果输入为空,则提示“密码不能为空”并跳过本次输入。
correct_password = "123456"
attempts = 3
while attempts > 0:
password = input("请输入密码: ")
if password == "":
print("密码不能为空!")
continue # 直接跳到下一次循环
if password == correct_password:
print("密码正确,欢迎进入系统!")
break # 终止循环
else:
attempts -= 1
print(f"密码错误,你还有 {attempts} 次机会")
if attempts == 0:
print("你的账号已被锁定!")
# 练习 4寻找第一个能被 7 整除的数字
# 要求: 从 1 开始计数,找到第一个能被 7 整除的数字后停止。
num = 1
while True:
if num % 7 == 0:
print(f"找到第一个能被 7 整除的数字:{num}")
break # 找到后直接退出循环
num += 1
# 练习 5用户登录使用 break 和 continue
# 要求: 用户最多可以输入 3 次密码,正确则退出,输入为空则提示“密码不能为空”并跳过本次输入。
correct_password = "admin123"
attempts = 3
while attempts > 0:
password = input("请输入密码: ")
if password == "":
print("⚠️ 密码不能为空!")
continue
if password == correct_password:
print("✅ 密码正确,登录成功!")
break
else:
attempts -= 1
print(f"❌ 密码错误,你还有 {attempts} 次机会")
if attempts == 0:
print("🔒 账号已被锁定!")
# 练习 6打印 1-50 内第一个能被 7 和 9 同时整除的数
# 要求: 找到第一个能同时被 7 和 9 整除的数,找到后 break 退出。
num = 1
while num <= 50:
if num % 7 == 0 and num % 9 == 0:
print(f"🎯 找到:{num}")
break
num += 1
# 练习 7跳过数字 5使用 continue
# 要求: 1 到 10 之间的数字,但 跳过 5。
num = 0
while num < 10:
num += 1
if num == 5:
continue # 跳过 5
print(num)
# 练习 8计算 1-100 之间的奇数和(使用 continue
# 要求: 计算 1 到 100 之间所有奇数的总和。
num = 0
total = 0
while num <= 100:
num += 1
if num % 2 == 0:
continue # 跳过偶数
total += num
print(f"所有奇数的和是: {total}")
# 练习 9找出 1-100 内所有能被 3 整除的数
# 要求: 1-100 之间,找到所有能被 3 整除的数字,并打印。
num = 1
while num <= 100:
if num % 3 != 0:
num += 1
continue # 跳过不能被 3 整除的数
print(num)
num += 1
# 练习 10银行取款系统
# 要求: 余额为 5000 元,用户可以不断输入取款金额,直到余额不足或用户输入 0 退出。
balance = 5000
while balance > 0:
amount = int(input(f"💰 你当前余额为 {balance},请输入取款金额(输入 0 退出):"))
if amount == 0:
print("👋 交易结束!")
break
if amount > balance:
print("⚠️ 余额不足!")
continue # 重新输入金额
balance -= amount
print(f"✅ 取款成功,剩余余额: {balance}")
# 练习 11倒计时使用 break
# 要求: 倒计时 10 秒,当计数到 3 时,立即结束。
num = 10
while num > 0:
print(f"倒计时: {num}")
num -= 1
if num == 3:
print("🚀 倒计时提前终止!")
break