接上一篇博客
🎮 猜数字小游戏 - Python版
🧠 游戏规则:
- 系统随机生成一个 1 到 10 的整数
- 玩家输入猜测的数字
- 使用 if 语句判断玩家猜得是否正确
- 提示“猜对了”或“太大/太小了”
import randomsecret_number = random.randint(1, 10)
attempts = 0 # 尝试次数print("欢迎来到猜数字游戏!")
print("我已经想好了一个 1 到 10 之间的数字。")
print("快来猜一猜吧!")while True:guess = int(input("你猜多少? "))attempts += 1if guess == secret_number:print(f"🎉 恭喜你,猜对了!你总共猜了 {attempts} 次。")breakelif guess < secret_number:print("太小了,再试一次。")else:print("太大了,再试一次。")
运行结果:
欢迎来到猜数字游戏!
我已经想好了一个 1 到 10 之间的数字。
快来猜一猜吧!
你猜多少? 6
太小了,再试一次。
你猜多少? 8
太小了,再试一次。
你猜多少? 9
🎉 恭喜你,猜对了!你总共猜了 3 次。
🕹️ 逻辑闯关小游戏:真假侦探
🎯 游戏说明:
你是一个侦探,需要判断陈述是真(True)是假(False)来过关,每一关用逻辑运算符进行判断。
✅ 逻辑背景知识复习:
运算符 | 含义 | 示例 | 结果 |
---|---|---|---|
and | 与,两个都为真才为真 | True and False | False |
or | 或,一个为真就为真 | True or False | True |
not | 非,取反 | not True | False |
def level_1():print("Level 1: 小明说他昨天去了学校(True),小红说他昨天在家(False)。他们说的是同一件事,都是对的吗?")answer = input("请输入 True 或 False:")correct = True and Falsereturn str(correct) == answerdef level_2():print("Level 2: 小刚说今天下雨(False),小华说天气很好(True)。只要一个人说对了,我们就不带伞。可以不带伞吗?")answer = input("请输入 True 或 False:")correct = False or Truereturn str(correct) == answerdef level_3():print("Level 3: 小丽说她没有说谎(False)。她真的没说谎吗?")answer = input("请输入 True 或 False:")correct = not Falsereturn str(correct) == answerdef play_game():print("🎮 欢迎来到逻辑侦探小游戏!答对三题就通关!")if level_1() and level_2() and level_3():print("🎉 恭喜你,逻辑通关成功!")else:print("❌ 很遗憾,有答错的地方,逻辑再练练吧~")play_game()
运行结果
🎮 欢迎来到逻辑侦探小游戏!答对三题就通关!
Level 1: 小明说他昨天去了学校(True),小红说他昨天在家(False)。他们说的是同一件事,都是对的吗?
请输入 True 或 False:False
Level 2: 小刚说今天下雨(False),小华说天气很好(True)。只要一个人说对了,我们就不带伞。可以不带伞吗?
请输入 True 或 False:True
Level 3: 小丽说她没有说谎(False)。她真的没说谎吗?
请输入 True 或 False:True
🎉 恭喜你,逻辑通关成功!
真假判断小游戏
def comparison_game():print("🎯 比较运算符小游戏,判断每个表达式是 True 还是 False")score = 0questions = [("5 == 5", True),("7 < 3", False),("8 != 8", False),("9 >= 6", True),("4 <= 4", True),("10 > 100", False)]for expr, correct in questions:print(f"题目:{expr}")answer = input("你认为是 True 还是 False?:")if answer.strip() == str(correct):print("✅ 回答正确!\n")score += 1else:print(f"❌ 错了,正确答案是 {correct}\n")print(f"🎉 游戏结束,你的得分是 {score}/{len(questions)}")comparison_game()
运行结果
🎯 比较运算符小游戏,判断每个表达式是 True 还是 False
题目:5 == 5
你认为是 True 还是 False?:True
✅ 回答正确!题目:7 < 3
你认为是 True 还是 False?:false
❌ 错了,正确答案是 False题目:8 != 8
你认为是 True 还是 False?:False
✅ 回答正确!题目:9 >= 6
你认为是 True 还是 False?:True
✅ 回答正确!题目:4 <= 4
你认为是 True 还是 False?:True
✅ 回答正确!题目:10 > 100
你认为是 True 还是 False?:False
✅ 回答正确!🎉 游戏结束,你的得分是 5/6
🏋️♂️ 控制台小游戏:重量转换器(Weight Converter Game)
🎯 功能说明:
- 用户输入数字和单位(公斤或磅)
- 程序转换成另一单位并显示
- 用 if 语句判断体重是否“太轻”、“正常”、“太重”
- 循环支持多次游戏,直到用户退出
def convert_weight(weight, unit):if unit == "kg":converted = weight * 2.20462print(f"{weight} 公斤 = {converted:.2f} 磅")if weight > 100:print("🏋️♂️ 你太重了!")elif weight < 40:print("🪶 太轻了!")else:print("✅ 体重正常")elif unit == "lb":converted = weight / 2.20462print(f"{weight} 磅 = {converted:.2f} 公斤")if converted > 100:print("🏋️♂️ 你太重了!")elif converted < 40:print("🪶 太轻了!")else:print("✅ 体重正常")else:print("单位无效!请输入 'kg' 或 'lb'")print("🎮 欢迎来到重量转换小游戏!")
print("你可以输入一个体重数值,然后选择单位(kg 或 lb)进行转换。")while True:value = input("\n请输入体重(数字):")if not value.replace('.', '', 1).isdigit():print("⚠️ 请输入合法数字!")continueweight = float(value)unit = input("请输入单位(kg 或 lb):").lower()convert_weight(weight, unit)again = input("是否继续?(y/n): ").lower()if again != 'y':print("👋 游戏结束,再见!")break
运行结果
🎮 欢迎来到重量转换小游戏!
你可以输入一个体重数值,然后选择单位(kg 或 lb)进行转换。请输入体重(数字):90
请输入单位(kg 或 lb):kg
90.0 公斤 = 198.42 磅
✅ 体重正常
是否继续?(y/n): n
👋 游戏结束,再见!
While Loops - While 循环
i = 1
while i <= 5:print(' '*(5-i),end='')print('* ' * i)i += 1
print("Done")
输出
* * * * * * * * * *
* * * * *
Done
虚拟汽车控制游戏
import randomprint("🚗 欢迎来到虚拟汽车控制游戏!")
print("输入 'help' 查看所有命令。\n")command = ""
started = False
speed = 0
fuel = 100
game_over = Falsedef trigger_random_event():chance = random.randint(1, 100)if chance <= 10:return "flat_tire"elif chance <= 15:return "engine_failure"return Nonewhile True:if game_over:print("💥 汽车抛锚,游戏结束。请重新启动程序。")breakcommand = input("> ").lower().strip()if command == "start":if started:print("⚠️ 汽车已经启动了!")else:started = Trueprint("🔑 汽车启动成功!准备出发!")elif command == "stop":if not started:print("⚠️ 汽车已经停止了!")else:started = Falsespeed = 0print("🛑 汽车已停止,速度清零。")elif command == "speed up":if not started:print("🚫 请先启动汽车才能加速!")elif fuel <= 0:print("⛽ 没油了!请加油后再试。")else:event = trigger_random_event()if event == "flat_tire":speed = 0print("💥 爆胎了!汽车速度归零,请减速或停车检查。")continueelif event == "engine_failure":started = Falsespeed = 0game_over = Trueprint("💣 引擎抛锚了!汽车无法继续行驶。")continuespeed += 10fuel -= 10print(f"🏎️ 你加速了!当前速度:{speed} km/h | 剩余油量:{fuel}")elif command == "slow down":if not started:print("🚫 请先启动汽车才能减速!")elif speed == 0:print("⚠️ 你已经停止了,不能再减速了。")else:event = trigger_random_event()if event == "flat_tire":speed = 0print("💥 爆胎了!汽车速度归零,请减速或停车检查。")continueelif event == "engine_failure":started = Falsespeed = 0game_over = Trueprint("💣 引擎抛锚了!汽车无法继续行驶。")continuespeed -= 10if speed < 0:speed = 0print(f"🧯 你减速了。当前速度:{speed} km/h")elif command == "status":car_status = "已启动" if started else "已停止"print(f"""
🚘 车辆状态:
状态:{car_status}
当前速度:{speed} km/h
油量:{fuel} / 100""")elif command == "help":print("""
======== 🆘 帮助菜单 =========
start - 启动汽车
stop - 停止汽车
speed up - 加速(10% 爆胎,5% 抛锚)
slow down - 减速(同上)
status - 查看汽车状态
quit - 退出游戏
==============================""")elif command == "quit":print("👋 再见!感谢你体验虚拟汽车游戏!")breakelse:print("❓ 不认识这个命令,输入 'help' 获取帮助。")
运行结果
🚗 欢迎来到虚拟汽车控制游戏!
输入 'help' 查看所有命令。> help======== 🆘 帮助菜单 =========
start - 启动汽车
stop - 停止汽车
speed up - 加速(10% 爆胎,5% 抛锚)
slow down - 减速(同上)
status - 查看汽车状态
quit - 退出游戏
==============================> start
🔑 汽车启动成功!准备出发!
> speed up
🏎️ 你加速了!当前速度:10 km/h | 剩余油量:90
> speed up
🏎️ 你加速了!当前速度:20 km/h | 剩余油量:80
> speed up
🏎️ 你加速了!当前速度:30 km/h | 剩余油量:70
> speed up
🏎️ 你加速了!当前速度:40 km/h | 剩余油量:60
> speed up
🏎️ 你加速了!当前速度:50 km/h | 剩余油量:50
> speed up
🏎️ 你加速了!当前速度:60 km/h | 剩余油量:40
> speed up
🏎️ 你加速了!当前速度:70 km/h | 剩余油量:30
> speed up
🏎️ 你加速了!当前速度:80 km/h | 剩余油量:20
> speed up
🏎️ 你加速了!当前速度:90 km/h | 剩余油量:10
> speed up
🏎️ 你加速了!当前速度:100 km/h | 剩余油量:0
> speed up
⛽ 没油了!请加油后再试。
> slow down
🧯 你减速了。当前速度:90 km/h
> status🚘 车辆状态:状态:已启动当前速度:90 km/h油量:0 / 100>
Nested Loops - 嵌套循环
numbers = [5, 2, 5, 2, 2]
for x_count in numbers:output = ''for count in range(x_count):output += 'x'print(output)
"""
运行结果
xxxxx
xx
xxxxx
xx
xx
"""