猜数游戏的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()                    
相关推荐
Jason-河山5 分钟前
利用 Python 爬虫采集 1688商品详情
java·http
计算机源码社6 分钟前
分享一个餐饮连锁店点餐系统 餐馆食材采购系统Java、python、php三个版本(源码、调试、LW、开题、PPT)
java·python·php·毕业设计项目·计算机课程设计·计算机毕业设计源码·计算机毕业设计选题
Zww08919 分钟前
idea插件市场安装没反应
java·ide·intellij-idea
夜雨翦春韭11 分钟前
【代码随想录Day31】贪心算法Part05
java·数据结构·算法·leetcode·贪心算法
汤兰月11 分钟前
Python中的观察者模式:从基础到实战
开发语言·python·观察者模式
计算机学姐11 分钟前
基于微信小程序的调查问卷管理系统
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
problc22 分钟前
Android 组件化利器:WMRouter 与 DRouter 的选择与实践
android·java
西柚与蓝莓2 小时前
【开源开放体系总结】
python
程序员南飞2 小时前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc