大家好!欢迎来到奥饼饼智慧谷 🎮。前两天我们做了实用工具,今天来一个纯纯的游戏——猜数字游戏!看看你能用多少次猜对!
🎯 游戏介绍
经典的猜数字游戏,电脑会随机生成一个 1-100 的数字,你来猜,电脑会提示"大了"或"小了",看看你几次能猜对!
💡 前置知识
只需要会用基础的循环和条件判断就行!
🎮 开始写代码
以下是完整的猜数字游戏代码:
import random import time def get_difficulty(): """选择难度级别""" print("\n" + "="*30) print(" 🎮 选择难度") print("="*30) print("1. 简单 (1-50, 15次机会)") print("2. 普通 (1-100, 10次机会)") print("3. 困难 (1-200, 8次机会)") print("="*30) while True: choice = input("\n请选择难度 (1-3): ").strip() if choice == "1": return 1, 50, 15 elif choice == "2": return 1, 100, 10 elif choice == "3": return 1, 200, 8 else: print("❌ 请输入 1-3!") def play_game(): """玩一局游戏""" min_num, max_num, max_attempts = get_difficulty() target = random.randint(min_num, max_num) attempts = 0 guess_history = [] print(f"\n🎯 准备好了吗? 我想了一个 {min_num}-{max_num} 之间的数字!") print(f"💫 你有 {max_attempts} 次机会!") while attempts < max_attempts: attempts += 1 remaining = max_attempts - attempts try: guess = int(input(f"\n第 {attempts} 次, 请输入数字: ")) guess_history.append(guess) if guess < min_num or guess > max_num: print(f"⚠️ 请输入 {min_num}-{max_num} 之间的数字!") continue if guess < target: print(f"📈 太小了! 再大一点! (还有 {remaining} 次机会)") elif guess > target: print(f"📉 太大了! 再小一点! (还有 {remaining} 次机会)") else: print(f"\n🎉 恭喜你! 猜对了! 答案是 {target}!") print(f"✨ 你用了 {attempts} 次!") if attempts <= 3: print("🌟 太厉害了! 你是天才吗?") elif attempts <= 6: print("👍 很不错! 继续保持!") else: print("💪 再接再厉, 下次更好!") return attempts, guess_history except ValueError: print("❌ 请输入有效的数字!") print(f"\n😢 很遗憾, 机会用完了! 答案是 {target}") print("📊 你的猜测记录: " + " -> ".join(map(str, guess_history))) return None, guess_history def show_stats(all_games): """显示游戏统计""" if not all_games: print("\n📭 还没有游戏记录呢!") return wins = sum(1 for g in all_games if g is not None) total = len(all_games) avg_attempts = sum(g for g in all_games if g is not None) / wins if wins > 0 else 0 print("\n" + "="*40) print(" 📊 游戏统计") print("="*40) print(f"🎮 总游戏次数: {total}") print(f"🏆 胜利次数: {wins}") print(f"📉 失败次数: {total - wins}") print(f"📈 平均尝试次数: {avg_attempts:.1f}") print(f"🎯 胜率: {wins/total*100:.1f}%") print("="*40) def main(): print("="*40) print(" 🎮 欢迎来到猜数字游戏! 🎮") print("="*40) all_games = [] while True: print("\n" + "-"*40) print("1. 开始游戏") print("2. 查看统计") print("3. 退出") print("-"*40) choice = input("\n请选择 (1-3): ").strip() if choice == "1": attempts, _ = play_game() all_games.append(attempts) elif choice == "2": show_stats(all_games) elif choice == "3": print("\n👋 再见! 玩得开心!") break else: print("❌ 请选择 1-3!") if __name__ == "__main__": main()
游戏是最好的老师,在玩中学习,效率最高!
🚀 玩起来吧!
保存为 `guess_game.py` 然后运行:
python guess_game.py
选择难度,开始挑战!看看你的运气如何!
✨ 进阶玩法
想让游戏更好玩?试试这些改进:
🎁 小技巧
用二分法猜测效率最高!每次猜中间的数字!
📚 知识要点
通过这个项目,我们学到了:
今天的游戏项目就到这里了!快去和你的朋友比一比,看看谁猜得最快!🎯
👋 感谢阅读 | 奥饼饼智慧谷
每天一个有趣的编程小项目,让学习变成乐趣!
💡 点赞 + 在看 + 分享,让更多人一起享受编程的快乐!