首页 > 编程语言 >Python 作业题1 (猜数字)

Python 作业题1 (猜数字)

时间:2024-07-02 22:27:53浏览次数:16  
标签:10 guess 数字 三位数 Python number 作业题 print

题目

你要根据线索猜出一个三位数。游戏会根据你的猜测给出以下提示之一:如果你猜对一位数字但数字位置不对,则会提示“Pico”;如果你同时猜对了一位数字及其位置,则会提示“Fermi”;如果你猜测的数字及其位置都不对,则会提示“Bagels”。你有10次猜数字机会

花十分钟,来实现一下吧! 输出结果如下:
在这里插入图片描述

请勿偷看答案哟!


为了用Python实现这个猜数字游戏,我们可以遵循以下步骤:

  1. 随机生成一个三位数(例如100到999之间)。
  2. 允许用户进行最多10次猜测。
  3. 根据用户的猜测,使用“Pico”,“Fermi”,“Bagels”作为反馈。
  4. 如果用户在10次以内猜中数字,则宣布胜利。

下面是实现这个游戏的Python代码:

import random

def guess_number_game():
    target_number = random.randint(100, 999)  # 生成目标数字
    guesses_left = 10  # 初始化猜测次数
    guess = None

    print("欢迎来到猜数字游戏!")
    print("我已经想好了一个100到999之间的数字。")
    print("你有10次机会来猜这个数字。")

    while guesses_left > 0:
        guess = input("请输入你的猜测(三位数): ").strip()

        # 检查输入是否有效
        if not guess.isdigit() or len(guess) != 3 or int(guess) < 100 or int(guess) > 999:
            print("无效的输入,请输入一个有效的三位数。")
            continue

        guess = int(guess)

        pico = 0  # 猜对数字但位置不对的数量
        fermi = 0  # 猜对数字且位置对的数量

        for i in range(3):
            if guess // 10**(2-i) % 10 == target_number // 10**(2-i) % 10:
                if i == target_number.count(guess // 10**(2-i) % 10):
                    fermi += 1
                else:
                    pico += 1

        if fermi == 3:
            print("恭喜你!猜对了!")
            break
        elif pico > 0:
            print("Pico")
        elif fermi > 0:
            print("Fermi")
        else:
            print("Bagels")

        guesses_left -= 1
        if guesses_left == 0:
            print(f"很遗憾,你的机会用完了。正确答案是:{target_number}")

if __name__ == "__main__":
    guess_number_game()

注意

  • 代码中,我们使用了//运算符来进行整除,以及%运算符来找到每一位上的数字。
  • count()方法用于检查在目标数字中某个数字出现的次数,这有助于确定是否猜对了位置。
  • 如果用户输入的不是一个有效的三位数,程序会提示用户重新输入。
  • 当用户猜对全部数字且位置也正确时,游戏结束并宣布用户胜利。如果用户在10次内未能猜中,则显示正确答案。

标签:10,guess,数字,三位数,Python,number,作业题,print
From: https://blog.csdn.net/Aaron_945/article/details/140137466

相关文章

  • Python 语法 - 海象运算符:=
    前言海象运算符的英文原名叫AssignmentExpresions,即赋值表达式。是Python3.8新增的语法:=,在PEP572中提出。海象运算符之所以叫这个名字是因为这个符号就像是一个海象逆时针90°倒过来一样,符号为一个冒号接着一个等号,是:=这样的。用于条件表达式海象运算符由一个:......
  • 神经网络在机器学习中的应用:手写数字识别
            机器学习是人工智能的一个分支,它使计算机能够从数据中学习并做出决策或预测。神经网络作为机器学习的核心算法之一,因其强大的非线性拟合能力而广泛应用于各种领域,包括图像识别、自然语言处理和游戏等。本文将介绍如何使用神经网络对MNIST数据集中的手写数字进......
  • Python即学即用教程-第8章 异常
    Python即学即用教程-第8章异常......
  • 可视化 Python 打包 exe,这个神器绝了!
    在Python开发中,如何将脚本打包成独立的可执行文件,是许多开发者面临的挑战。特别是在需要将应用程序分发给不具备Python环境的用户时,打包工具显得尤为重要。auto-py-to-exe作为一款强大的Python打包工具,为开发者提供了简便快捷的解决方案。那么,auto-py-to-exe究竟是如何简化打包流......
  • Python基础入门知识
    目录引言      简要介绍Python语言      为什么要学习Python      Python的应用领域Python安装和环境配置      Python的下载和安装(Windows,macOS,Linux)      配置Python环境变量      安装和使用IDE(如PyCharm,VSCode)Python......
  • Advanced Data Analytics Using Python_ With Machine Learning, Deep Learning and N
    本书提供了使用Python进行高级数据分析的方法,涵盖了机器学习、深度学习和自然语言处理的应用实例。书中详细讲解了如何在不同的数据库环境中进行数据提取、转换和加载(ETL),并探讨了监督学习、无监督学习、深度学习、时间序列分析以及大规模数据分析的相关内容。目录简介为......
  • python+flask计算机毕业设计的家庭收支记账管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会的快速发展和人们生活水平的提高,家庭财务管理变得越来越重要。然而,传统的家庭记账方式往往存在效率低下、易出错、不易统计等问题......
  • python+flask计算机毕业设计的建材店库存管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着经济的迅速发展和建筑行业的蓬勃兴起,建材市场的竞争日益激烈。建材店作为建筑行业的重要供应链环节,其库存管理水平直接影响着店铺的运......
  • python+flask计算机毕业设计的礼服租赁管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着人们对个性化、时尚化需求的日益增长,礼服租赁市场逐渐崭露头角。然而,传统的礼服租赁管理方式往往依赖于纸质记录和人工操作,这种方式不......
  • python: create Envircomnet in vscode 创建虚拟机
    先配置python开发环境 1.在搜索栏输入“>"或是用快后键ctrl+shift+P键就会显示”>",再输入"python:"   选择已经安装好的python的版本至当前项目中   2terminal下输入相关命令行操作,选进入虚拟机的的文件夹下cd.venv/scripts再进行激活虚拟机。输入ac......