当前位置: 首页 > news >正文

猜数游戏--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)

实例10:猜数游戏

猜数游戏是一个古老的密码破译类、益智类小游戏,通常由两个人参与,一个人设置一个数字,一个人猜数字,当猜数字的人说出一个数字,由出数字的人告知是否猜中:若猜测的数字大于设置的数字,出数字的人提示“很遗憾,你猜大了”;若猜测的数字小于设置的数字时,出数字的人提示“很遗憾,你猜小了”;若猜数字的人在规定的次数内猜中设置的数字,出数字的人提示“恭喜,猜数成功”。

本实例要求编写程序,实现遵循上述规则的猜数字游戏,并限制猜数机会只有5次。

实例目标

  1. 掌握while循环的使用
  2. 了解break的基本用法
  3. 了解导入random模块的方式

实例分析

本案例的猜数字游戏是针对1-100以内的整数数字进行猜测,猜测的数字由Python中random模块中randint()方法随机产生;因为规定玩家有5次机会,所以可以使用for循环与range()函数控制循环次数,在进行猜数过程中还需要对玩家输入的内容进行判断,这里可以使用if-elif语句判断,如使用isdigit()方法判断玩家输入的内容是否是数字;使用比较运算符判断玩家输入的数字是否符合在规定范围内;判断玩家输入的数字是否与产生的随机数相等,如果相等输出“恭喜你用了x次猜对了”,当输入次数达到5次时,则输出“很遗憾,x次机会已用尽,游戏结束,答案为y”。根据以上分析可整理出以下实现思路:

(1)使用import语句导入random模块

(2)使用random模块中的randint()方法生成一个100以内的随机整数

(3)使用for循环控制玩家猜测的次数

(3)使用input ()函数接收玩家输入的数据

(4)判断输入数据的数据是否为数字

(5)判断输入的数据是否在指定范围内

(6)判断玩家输入的数据是否与生成的随机数一致,如果一致使用break语句跳出循环

(7)如果玩家输入的数据与生成额随机数不一致,给出相应提示

(8)当玩家猜测5次后,仍没有猜对,结束程序

代码实现

import random

print("猜数字游戏,输入一个1-100以内的数字")

random_num = random.randint(1, 100)

# print(random_num)  # 打开注释可查看生成的随机数

for frequency in range(1,6):

    number = input("请输入一个数字:")

    if number.isdigit() is False:

        print('请输入一个正确的数字')

    elif int(number) < 0 or int(number) > 100:

        print("请输入1-100范围的数字")

    elif random_num == int(number):

        print("恭喜你用了%d次猜对了" % frequency)

        break

    elif random_num > int(number):

        print("很遗憾,你猜小了")

    else:

        print("很遗憾,你猜大了")

    if frequency == 5:

        print("很遗憾,%d次机会已用尽,游戏结束,答案为%d" % (frequency, random_num))

首先使用random模块中的randint()方法随机生成一个整数并赋值给变量random_num,然后使用for循环遍历5次判断用户猜测的数字是否正确,在for循环中将用户输入的内容赋值给变量number,并对输入的内容进行判断:如果输入的内容不是数字或者输入的数字范围不在1-100之间,使用print()函数分别输出“请输入一个正确数字”或“请输入1-100范围的数字”;如果用户输入的数字符合要求,判断输入的数字与随机生成的数字是否相等。如果猜测的数字与随机生成的数字相等,使用print()函数输出“恭喜你用了x次猜对了”,并使用break跳出while循环;如果输入的数字小于或大于随机生成的数字,那么使用print()函数输出“很遗憾,你猜小了”或“很遗憾,你猜大了”,当变量frequency值为5时,使用print()函数输出正确结果。

代码测试

运行代码,控制台输出结果如下(猜数成功):

猜数字游戏,输入一个1-100以内的数字

请输入一个数字:12

很遗憾,你猜小了

请输入一个数字:14

恭喜你用了2次猜对了

运行代码,控制台输出结果如下(猜数失败):

猜数字游戏,输入一个1-100以内的数字

请输入一个数字:1

很遗憾,你猜小了

请输入一个数字:1

很遗憾,你猜小了

请输入一个数字:1

很遗憾,你猜小了

请输入一个数字:1

很遗憾,你猜小了

请输入一个数字:1

很遗憾,你猜小了

很遗憾,5次机会已用尽,游戏结束,答案为25

相关文章:

猜数游戏--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)

实例10&#xff1a;猜数游戏 猜数游戏是一个古老的密码破译类、益智类小游戏&#xff0c;通常由两个人参与&#xff0c;一个人设置一个数字&#xff0c;一个人猜数字&#xff0c;当猜数字的人说出一个数字&#xff0c;由出数字的人告知是否猜中&#xff1a;若猜测的数字大于设…...

Nvidia jetson nano 部署yolov5_技术文档

Nvidia jetson nano 部署yolov5_技术文档 每天一句小姜格言&#xff1a;我行&#xff0c;我不是一般人儿 部署开始&#xff1a; 1、通过FileZilla&#xff0c;将window文件传输至jetson nano 上的nano文件夹下。 2、查看cuda 我买的jetson nano是带有配置好的镜像。系统配置…...

获取当前天数前N天

获取当前天数前N天 先封装到js里面 export const isTime (val) > {// 1.获取当前时间年月日时分秒格式xxxx-xx-xx xx:xx:xxvar myDate new Date() // 当前时间var y myDate.getFullYear() // 当前年份四位数var m myDate.getMonth() 1 < 10? 0 (myDate.getMont…...

Linux---基本指令

专栏&#xff1a;Linux 个人主页&#xff1a;HaiFan. 基本指令ls 指令pwd命令cd 指令touch指令mkdir指令&#xff08;重要&#xff09;rmdir指令 && rm 指令&#xff08;重要&#xff09;man指令&#xff08;重要&#xff09;cp指令&#xff08;重要&#xff09;mv指令…...

【UE4 RTS游戏】02-摄像机运动_完成摄像机在X轴上运动的相关步骤

效果通过控制键盘WS键使得“CameraPawn”进行前后移动步骤将landscape的Z轴位置更改为0删除“PostProcessVolume”将“LightmassImportanceVolume”移入Lighting文件夹内新建一个蓝图类&#xff0c;父类是Pawn&#xff0c;命名为“CameraPawn”将“MyController”重命名为“Cam…...

Kubernetes学习(五)持久化存储

Volume 卷 容器中的文件在磁盘上是临时存放的&#xff0c;这给容器中运行的特殊应用带来了一些问题。首先&#xff0c;当容器崩溃时&#xff0c;kubectl将重新启动容器&#xff0c;容器中的文件将会丢失--应为容器会以干净的状态重建。其次&#xff0c;当在一个Pod中运行多个容…...

下一个7年,保持期待、持续思考,酷雷曼继续向前!

过去7年&#xff0c;我们一直在思考&#xff0c; VR技术究竟能为我们的生活带来什么&#xff1f; 是足不出户就能云游千里的秀美风光&#xff1f; 是在家就能沉浸式体验线上消费的便利&#xff1f; 还是为商企和用户搭建更快速的沟通桥梁&#xff1f; NO.1、技术变革 在信…...

天梯赛训练L1-010--L1-012

目录 1、L1-010 比较大小 2、L1-011 A-B 3、L1-012 计算指数 4&#xff0c;一些题外话 1、L1-010 比较大小 分数 10 本题要求将输入的任意3个整数从小到大输出。 输入格式&#xff1a; 输入在一行中给出3个整数&#xff0c;其间以空格分隔。 输出格式&#xff1a; 在一…...

三分钟完成Stable Diffusion本地安装(零基础体验AI绘画)

三分钟完成Stable Diffusion本地安装前言安装步骤下载链接前言 最近AI绘画很火&#xff0c;很多无编程基础的小伙伴也想体验一下&#xff0c;所以写这篇博客来帮助小伙伴们愉快的体验一下~废话少说&#xff0c;我们直接开整&#xff01; 安装步骤 首先&#xff0c;下载本项目的…...

电子台账:教程目录及软件下载

前面内容有点杂乱&#xff0c;这里整理一下教程目录。重点是制作模板&#xff0c;企业只要学会适合自己的一种就行。如果这些模板都学会做了&#xff0c;那可以当老师了。1 目录1 模板制作之一——列过滤&#xff08;水平过滤&#xff09;2 模板制作之二——行过滤&#xff08;…...

多态的优势和弊端

目录 1.多态的优势 2.多态的弊端是什么&#xff1f; 3.引用数据类型的类型&#xff0c;转换有几种方式 4.强制类型转换能解决什么问题楠&#xff1f; 1.多态的优势 方法中&#xff0c;使用父类作为参数&#xff0c;可以接收所有子类的对象 package ploydemo3;import java.u…...

android h5考勤管理系统myeclipse开发mysql数据库编程服务端java计算机程序设计

一、源码特点 android h5考勤管理系统是一套完善的WEBandroid设计系统&#xff0c;对理解JSP java&#xff0c;安卓app编程开发语言有帮助&#xff08;系统采用web服务端APP端 综合模式进行设计开发&#xff09;&#xff0c;系统具有完整的源代 码和数据库&#xff0c;系统主…...

第二道pwn题:shellcode

题目来自视频&#xff1a;链接&#xff1a;https://pan.baidu.com/s/17vX9dbfHkXBw71mcEXBgNQ?pwd6666 提取码&#xff1a;6666查看文件类型和保护&#xff0c;虽然现在的我还没有明白太多的保护。64位&#xff0c;放到ida里边rbp:保存的是栈中当前执行函数的基本地址。当前执…...

《华为数据之道》读书笔记

《华为数据之道》读书笔记第二章&#xff1a;2.2.1 管理总纲有四点&#xff1a;信息架构管理原则、数据产生管理、数据应用管理原则、数据问责与奖惩管理原则2.1.2 信息架构管理政策&#xff1a;管理信息架构的角色与职责&#xff1a;公司数据Owner、各数据Owner、数据管理专业…...

C++源码pcl1.13.0库编译环境搭建及配置

Pcl github库https://github.com/PointCloudLibrary/pcl官网地址https://pointclouds.org/Pcl exe的下载地址&#xff0c;各个版本&#xff0c;以及各版本对应的源码https://github.com/PointCloudLibrary/pcl/releases源码需要编译&#xff0c;编译之前安装AllInOne的exe程序&…...

Idea工具单工程使用卡顿设置

一、开启Idea内存占比指示 1.1、勾选Idea 内存指示器 1.2、右下角展示当前项目&#xff1a;内存/总内存&#xff08;726/1024MB&#xff09; ​​​​​​​ 二、修改Idea自定义内存 2.1、打开help - Edit Custom VM Options 2.2、自定义虚拟内存设置 -Xms1024m // 初始内存分…...

Android 9.0 Camera2退出时屏幕旋转为横屏

1.概述 在9.0的系统rom定制化中,由于是大屏幕产品,所以系统屏幕是默认横屏的,但是在Camera2是竖屏的app,所以会在进入Camera2相机时变成竖屏,退出相机时,还是竖屏, 对于横屏的机器来说不太符合要求,所以要求在退出相机时,旋转为横屏,这就需要知道哪个api监听Camera2 退…...

【云原生】rancher2.6部署MySQL—2023.03

文章目录概要1. 准备NFS服务器1.1 安装nfs1.2 创建挂载路径1.3 启动NFS服务2. 所有node节点上安装NFS服务3. rancher上部署MySQL3.1 创建PV3.2 创建PVC3.3 创建服务发现3.4 部署MySQL服务4. 测试概要 本文以单master节点为例&#xff0c;部署mysql&#xff0c;多master&#x…...

行测-判断推理-图形推理-样式规律-空间重构-立体拼合

有凸必有凹&#xff0c;排除A CD显然不对选BA和4能组成长方体B和3能组成长方体C和1能组成长方体选D这两个东西应该在同一侧&#xff0c;排除A C中间应该要由凸起&#xff0c;排除D选B图1向左旋转90图2逆时针旋转90选A...

细说蛮力法(一)

细说蛮力法&#xff08;一&#xff09;蛮力法百元买百鸡传统暴力枚举减少无用枚举最优解法蛮力法 蛮力法通常在算法题中经常用到&#xff0c;也称为暴力枚举&#xff0c;其核心为遍历&#xff0c;即通过列举所有可能的情况&#xff0c;从而得到合适的解。从人的思维角度来看&am…...

Python实战:M3FD红外数据集高效转YOLO格式的完整指南

1. 为什么需要转换M3FD数据集格式 红外目标检测在夜间安防、自动驾驶等领域越来越重要&#xff0c;而M3FD作为优质的红外数据集却采用了VOC格式标注。这就像你买了台进口电器&#xff0c;却发现插头不匹配国内插座——虽然东西是好东西&#xff0c;但直接使用会遇到麻烦。 YO…...

Go Context 取消信号机制剖析

Go Context 取消信号机制剖析 在Go语言中&#xff0c;Context是控制并发任务生命周期的重要工具&#xff0c;其取消信号机制尤其关键。通过Context&#xff0c;开发者可以优雅地终止协程、释放资源&#xff0c;避免资源泄漏和无效计算。本文将深入剖析Go Context的取消信号机制…...

通达信缠论画线主图实战:手把手教你5分钟搞定中枢识别与趋势线绘制

通达信缠论画线实战指南&#xff1a;5分钟掌握中枢识别与趋势线绘制技巧 在股票技术分析领域&#xff0c;缠论因其独特的结构思维和实战价值备受投资者青睐。而通达信作为国内主流证券分析软件&#xff0c;其内置的画线工具与缠论理论结合&#xff0c;能够帮助投资者快速识别关…...

简单几步:星图平台快速部署Qwen3-VL:30B,创建专属飞书智能机器人

简单几步&#xff1a;星图平台快速部署Qwen3-VL:30B&#xff0c;创建专属飞书智能机器人 1. 环境准备与镜像部署 1.1 选择合适的基础镜像 在星图AI云平台创建实例时&#xff0c;我们需要选择支持多模态大模型的专用镜像。Qwen3-VL-30B是目前最强的多模态模型之一&#xff0c…...

太原教育平台评价好的服务商

在太原&#xff0c;随着家长对孩子教育的重视程度不断提高&#xff0c;越来越多的教育平台和服务商应运而生。本文将从多个维度对太原几家知名的教育平台进行对比分析&#xff0c;帮助家长们选择最适合孩子的教育服务。一、山西国科天光教育科技有限公司1. 标准化体系数据支持&…...

ICP算法实战:从Point-to-Plane到VGICP,5种点云配准方法性能对比(附Python代码)

ICP算法实战&#xff1a;从Point-to-Plane到VGICP&#xff0c;5种点云配准方法性能对比&#xff08;附Python代码&#xff09; 在三维视觉和机器人领域&#xff0c;点云配准是构建环境地图、实现定位导航的基础技术。当我们需要将多个视角采集的点云数据拼接成一个完整的三维模…...

扩散薛定谔桥(Diffusion Schrödinger Bridge)

扩散薛定谔桥&#xff08;Diffusion Schrdinger Bridge&#xff09; 1. 概述 扩散薛定谔桥&#xff08;Diffusion Schrdinger Bridge, DSB&#xff09;是一类在两个端点分布之间学习随机过渡动力学的方法。其核心目标不是仅恢复终点样本&#xff0c;而是构造一条满足边界约束…...

Grafana Dashboard权限精细化控制实战指南

1. Grafana权限控制基础&#xff1a;从入门到精通 刚接触Grafana时&#xff0c;我一度以为权限管理就是简单的"管理员能改、编辑者能看、查看者只能瞅瞅"。直到有一次&#xff0c;客户要求"开发团队能修改A仪表盘但不能碰B仪表盘&#xff0c;运维团队能看B但不能…...

内存暴涨却查无踪迹?Python对象生命周期管理的7个致命盲区,现在不看明天宕机!

第一章&#xff1a;Python智能体内存管理的核心原理Python智能体&#xff08;如基于LangChain、LlamaIndex构建的Agent&#xff09;在运行过程中并非仅依赖语言模型推理&#xff0c;其内存管理机制直接决定状态持久性、上下文感知能力与多轮交互一致性。核心在于Python对象生命…...

RWKV7-1.5B-G1A快速原型:使用VMware虚拟机搭建隔离的模型测试环境

RWKV7-1.5B-G1A快速原型&#xff1a;使用VMware虚拟机搭建隔离的模型测试环境 1. 为什么需要虚拟机测试环境 在测试新的大语言模型时&#xff0c;最头疼的问题就是环境配置冲突。你可能遇到过这种情况&#xff1a;好不容易装好CUDA驱动&#xff0c;结果发现和现有项目的PyTor…...