猜数游戏的python程序

这是一个简单的猜数游戏的Python程序。在这个游戏中,计算机会随机选择一个1到100之间的数,然后让用户尝试猜测这个数。

复制代码
import random

def game():
    number_to_guess = random.randint(1, 100)
    guess = None
    attempts = 0

    while guess != number_to_guess:
        guess = int(input("请猜一个1到100之间的数: "))
        attempts += 1
        if guess < number_to_guess:
            print("太低了!再试一次。")
        elif guess > number_to_guess:
            print("太高了!再试一次。")
    
    print(f"恭喜你,你猜对了!这个数就是 {number_to_guess}。")
    print(f"你一共尝试了 {attempts} 次。")

if __name__ == "__main__":
    game()

这个程序会持续要求用户输入猜测的数字,直到猜对为止。如果用户的猜测数字低于目标数字,它会输出 "太低了!再试一次。",如果用户的猜测数字高于目标数字,它会输出 "太高了!再试一次。" 如果用户猜对了数字,程序会告诉用户他们猜对了,并显示他们尝试的次数。

我们可以增加一些新的功能,比如:记录用户的名字,记录他们猜的次数,让用户可以选择是否再玩一次,以及显示用户的历史记录。

复制代码
import random

def game():
    number_to_guess = random.randint(1, 100)
    guess = None
    attempts = 0
    player_name = input("请输入你的名字: ")
    game_history = []

    while guess != number_to_guess:
        guess = int(input(f"{player_name}, 请猜一个1到100之间的数: "))
        attempts += 1
        game_history.append((guess, attempts))
        if guess < number_to_guess:
            print("太低了!再试一次。")
        elif guess > number_to_guess:
            print("太高了!再试一次。")
    
    print(f"恭喜你,{player_name},你猜对了!这个数就是 {number_to_guess}。")
    print(f"你一共尝试了 {attempts} 次。")
    game_history.append((number_to_guess, attempts))
    print(f"你的游戏历史记录: {game_history}")

    play_again = input("你想再玩一次吗? (是/否): ")
    if play_again.lower() == "是":
        game()
    else:
        print("好的,谢谢参与!")

if __name__ == "__main__":
    game()

在这个新版本的游戏中,我们添加了记录玩家名字、猜的次数、游戏历史记录的功能,并且在玩家猜对数字后询问他们是否想再玩一次。如果他们想再玩一次,我们会重新开始游戏;否则,我们会结束程序。

我们可以增加游戏的难度,比如:让用户可以选择难度,在高级模式下,数字的范围会更大,而且会加入随机数干扰用户的猜测。我们还可以让用户输入他们的记录密码,以便在下次运行游戏时恢复他们的记录。

复制代码
import random

def game():
    number_to_guess = random.randint(1, 100)
    guess = None
    attempts = 0
    player_name = input("请输入你的名字: ")
    game_history = []
    difficulty = input("请选择难度 (简单/高级): ")

    if difficulty.lower() == "高级":
        number_to_guess = random.randint(1, 200)
        random_number = random.randint(1, 20)
        while guess != number_to_guess:
            if random_number == 1:
                guess = int(input(f"{player_name}, 请猜一个1到200之间的数: "))
            else:
                guess = int(input(f"{player_name}, 请猜一个1到100之间的数: "))
            attempts += 1
            game_history.append((guess, attempts))
            if guess < number_to_guess:
                print("太低了!再试一次。")
            elif guess > number_to_guess:
                print("太高了!再试一次。")
        print(f"恭喜你,{player_name},你猜对了!这个数就是 {number_to_guess}。")
        print(f"你一共尝试了 {attempts} 次。")
        game_history.append((number_to_guess, attempts))
        print(f"你的游戏历史记录: {game_history}")
    else:
        while guess != number_to_guess:
            guess = int(input(f"{player_name}, 请猜一个1到100之间的数: "))
            attempts += 1
            game_history.append((guess, attempts))
            if guess < number_to_guess:
                print("太低了!再试一次。")
            elif guess > number_to_guess:
                print("太高了!再试一次。")
        print(f"恭喜你,{player_name},你猜对了!这个数就是 {number_to_guess}。")
        print(f"你一共尝试了 {attempts} 次。")
        game_history.append((number_to_guess, attempts))
        print(f"你的游戏历史记录: {game_history}")
        play_again = input("你想再玩一次吗? (是/否): ")
        if play_again.lower() == "是":
            game()
        else:
            print("好的,谢谢参与!")
            with open('game_history.txt', 'w') as file:
                for item in game_history:
                    file.write(f"{item[0]},{item[1]}\n")
            print(f"游戏历史记录已保存到 'game_history.txt' 文件中.")
            exit()                    
相关推荐
学计算机的7 分钟前
Python:OpenCV 教程
开发语言·python
拾忆,想起11 分钟前
Redisson 分布式锁的实现原理
java·开发语言·分布式·后端·性能优化·wpf
焰火199912 分钟前
[Java][SpringBoot]AspectJ切面配合自定义注解实现权限校验
java
咚咚锵咚咚锵16 分钟前
DrissionPage的学习
前端·python·学习
阿加犀智能18 分钟前
使用Langchain生成本地rag知识库并搭载大模型
服务器·python·langchain
野生程序员y21 分钟前
Spring DI/IOC核心原理详解
java·后端·spring
朱自清的诗.32 分钟前
使用python脚本储存mosquito服务器数据到sqlite
python·单片机·sqlite·esp32
xiao-xiang38 分钟前
Django的session机制
python·django
叫我龙翔40 分钟前
【设计模式】从游戏角度开始了解设计模式 --- 抽象工厂模式
c++·游戏·设计模式
往事随风去1 小时前
Java 中的 Consumer 与 Supplier 接口
java·面试·响应式编程