备考计算机二级Python之Day4下篇

news2024/11/10 11:12:50

实例解析--猜数字游戏

编写一个“猜数字游戏”的程序,在1~1000之间随机产生一个数,然后请用户循环猜这个数字,对于每个答案只回答“猜大了”或“猜小了”,直到猜对为止。输出用户的猜测次数。

使用Python语言的随机标准库random。


import random
target=random.randint(1,1000)

实例1:


import random
target=random.randint(1,1000)
count=0
while True:
    guess=eval(input('请输入一个猜测的整数(1至1000):'))
    count=count+1
    if guess>target:
        print('猜大了')
    elif guess<target:
        print('猜小了')
    else:
        print('猜对了')
        break
print("此轮的猜测次数是:",count)
请输入一个猜测的整数(1至1000):12
猜小了
请输入一个猜测的整数(1至1000):500
猜小了
请输入一个猜测的整数(1至1000):750
猜小了
请输入一个猜测的整数(1至1000):800
猜小了
请输入一个猜测的整数(1至1000):900
猜小了
请输入一个猜测的整数(1至1000):950
猜大了
请输入一个猜测的整数(1至1000):925
猜大了
请输入一个猜测的整数(1至1000):912
猜大了
请输入一个猜测的整数(1至1000):906
猜大了
请输入一个猜测的整数(1至1000):903
猜对了
此轮的猜测次数是: 10

由于使用了eval(input())方式获得用户输入,如果用户输入非数字产生运行错误,程序将会退出。为了增强程序的稳定性,实例2中增加了异常处理机制。

提示:eval(input())

使用input()获得用户输入是一定不会出现异常的,因为任何输入都会被当作字符串;但eval(input())则可能在输入不是数字时产生异常而导致程序退出,因此需要异常判断。

实例2:


import random
target=random.randint(1,1000)
count=0
while True:
    try:
        guess=eval(input('请输入一个猜测的整数(1至1000):'))
    except:
        print('输入有误,请重试,不计入猜测次数')
        continue
    count=count+1
    if guess>target:
        print('猜大了')
    elif guess<target:
        print('猜小了')
    else:
        print('猜对了')
        break
print("此轮的猜测次数是:",count)
请输入一个猜测的整数(1至1000):500
猜大了
请输入一个猜测的整数(1至1000):250
猜小了
请输入一个猜测的整数(1至1000):haha
输入有误,请重试,不计入猜测次数
请输入一个猜测的整数(1至1000):375
猜小了
请输入一个猜测的整数(1至1000):450
猜大了
请输入一个猜测的整数(1至1000):400
猜小了
请输入一个猜测的整数(1至1000):425
猜大了
请输入一个猜测的整数(1至1000):412
猜小了
请输入一个猜测的整数(1至1000):418
猜小了
请输入一个猜测的整数(1至1000):421
猜小了
请输入一个猜测的整数(1至1000):423
猜对了
此轮的猜测次数是: 10

二分法查找:每次都猜(最大值+最小值)/2那个值,根据反馈的大小情况继续查找,直到找到结果。初次为1~N的整数范围,采用二分法查找至少需要\log_{2}N次即可找到结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2070465.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源游戏开发引擎LayaAir

LayaAir是一款由Layabox公司推出的次世代全平台3D引擎&#xff0c;它支持2D、3D、VR与AR产品的开发&#xff0c;并允许开发者一次开发后同时发布为Web、小游戏、Native APP等多种平台的产品。 LayaAir引擎提供强大的IDE集成环境&#xff0c;包含3D场景编辑器、材质编辑器、粒子…

【linux中高级命令】

杀进程 1、lsof列出所有打开的文件&#xff0c;‌包括网络连接&#xff0c;‌从而提供关于系统状态的宝贵信息‌ #可以直接查看端口的进程 lsof -i:端口获取到进程&#xff0c;使用kill命令和PID来终止进程 kill -9 [PID]2、列出使用该端口的进程信息&#xff0c;‌包括PID …

linux上datax 安装以及使用

前言 DataX 是一款由阿里巴巴开源的数据同步工具&#xff0c;旨在帮助用户实现不同数据源之间的高效数据迁移和同步。无论是从传统的关系型数据库、NoSQL 数据库&#xff0c;还是到大数据存储系统&#xff0c;DataX 都能够轻松应对各种数据同步需求。通过简单的配置和灵活的插…

【解压即玩】最终幻想7 重制版中文+预购特典+全DLC,难忘的一作

数年前&#xff0c;一家名为神罗的公司&#xff08;起初称为神罗工程所&#xff09;发现了一种深埋于地底的神秘生物遗骸&#xff08;被称为杰诺瓦&#xff09;以及一种名为“魔晄”的能源。这家公司通过将这种生物遗骸浸泡在魔晄中来生产电力&#xff0c;从而迅速崛起成为全球…

一套在线工具管理服务器+DB+Redis+Mongo等

Team IDE是一个基于Web的、集成了多种开发工具和服务&#xff08;MySql、Oracle、金仓、达梦、神通等数据库、SSH、FTP、Redis、Zookeeper、Kafka、Elasticsearch、Mongodb&#xff09;的一体化开发环境&#xff0c;它不仅为开发者提供了便捷的开发体验&#xff0c;还支持团队协…

【文本 >>> 语音】⭐️SpringBoot 结合 jacob 简单实现一个文本朗读功能

目录 &#x1f378;前言 &#x1f37b;一、环境准备 &#x1f37a;二、依赖引入 &#x1f49e;️三、简单启动 &#x1f379;四、接口改造 4.1 封装为一个工具类 4.2 暴露一个接口 4.3 测试 &#x1f331;五、扩展 &#x1f378;前言 小伙伴们大家好&#xff0c;上次…

初学Python如何快速入门(内附详细攻略),一文讲清

目前python可以说是一门非常火爆的编程语言&#xff0c;应用范围也非常的广泛&#xff0c;工资也挺高&#xff0c;未来发展也极好。 Python究竟应该怎么学呢&#xff0c;我自己最初也是从零基础开始学习Python的&#xff0c;给大家分享Python的学习思路和方法。一味的买书看书…

AI指挥细胞大变身,脑瘤生存率跃升75%?

“ 胶质母细胞瘤&#xff08;GBM&#xff09;&#xff0c;一种凶险的脑癌&#xff0c;曾让无数家庭陷入绝望。然而南加州大学凯克医学院的一项突破性研究&#xff0c;利用AI技术将脑癌细胞转化为免疫细胞&#xff0c;为GBM患者带来了前所未有的生存希望。 ” AI识别与重编程…

Windows系统注册表

一、修改文件图标 电脑程序怎么更换python文件的图标_mob64ca12d12b68的技术博客_51CTO博客 二、 1.打开注册的命令&#xff1a; 按winR快捷键&#xff0c;在弹出的窗口中输入&#xff1a;regedit 2.注册表样式 已学习至&#xff1a;0&#xff1a;47&#xff1a;32 课堂链…

OpenAI Sora:视频生成领域的创新力量

一、Sora 的诞生与技术原理 Sora 模型由 OpenAI 推出&#xff0c;其诞生背景与人工智能技术在多模态领域的不断探索和发展紧密相关。在视频数据日益丰富和重要的时代&#xff0c;对视频生成模型的需求愈发迫切&#xff0c;Sora 应运而生。 Sora 独特的技术原理使其在众多模型…

验证码短信怎么实现Java接口对接

在当今数字化时代&#xff0c;商家和企业对于用户身份验证的需求日益增强&#xff0c;这不仅是出于保护用户数据安稳的考虑&#xff0c;也是维护业务正常运营、防止欺诈行为的重要一环。在众多身份验证手段中&#xff0c;文字验证码短信因其便捷性和低成本特性&#xff0c;成为…

面向对象03:创建对象内存分析

本节内容视频链接&#xff1a;面向对象06&#xff1a;创建对象内存分析_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV12J41137hu?p65&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 创建对象时的内存分析涉及到理解对象如何在内存中分配和管理。‌这个过程在…

Python酷库之旅-第三方库Pandas(096)

目录 一、用法精讲 411、pandas.DataFrame.values属性 411-1、语法 411-2、参数 411-3、功能 411-4、返回值 411-5、说明 411-6、用法 411-6-1、数据准备 411-6-2、代码示例 411-6-3、结果输出 412、pandas.DataFrame.axes属性 412-1、语法 412-2、参数 412-3、…

2024年【山东省安全员B证】最新解析及山东省安全员B证找解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年山东省安全员B证最新解析为正在备考山东省安全员B证操作证的学员准备的理论考试专题&#xff0c;每个月更新的山东省安全员B证找解析祝您顺利通过山东省安全员B证考试。 1、【多选题】《建设工程安全生产管理条…

dompdf导出pdf中文乱码显示问号?、换行问题、设置图片大小

环境&#xff1a;PHP 8.0 框架&#xff1a;ThinkPHP 8 软件包&#xff1a;phpoffice/phpword 、dompdf/dompdf 看了很多教程&#xff08;包括GitHub的issue、stackoverflow&#xff09;都没有解决、最终找到解决问题的根本&#xff01; 背景&#xff1a;用Word模板做转PDF…

ES6笔记总结(Xmind格式):第四天

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; node的模块化&#xff1a; 1.CommonJS 规范&#xff1a;Node.js 遵循 CommonJS 模块规范&#xff0c;该规范定义了如何在服务器环境中实现模块化&#xff0c;包括如何定义模块、如何引入和使用模块。 2.模块的定义&…

百度文心一言API批量多线程【改写伪原创文章软件】-key免费无限写

百度文心大模型的两款主力模型ENIRE Speed、ENIRE Lite全面免费&#xff0c;即刻生效。 百度文心大模型的两款主力模型 这意味着&#xff0c;大模型已进入免费时代&#xff01; 据了解&#xff0c;这两款大模型发布于今年 3 月&#xff0c;支持 8K 和 128k 上下文长度。 ER…

[MRCTF2020]Hello_ misc

解压得一个png图片和一个flag.rar 图片拖入010editor 选择带zip头的这段蓝色全部复制&#xff0c;file-new-new Hex File&#xff0c;黏贴到新文件&#xff0c;另存为为1.zip 要密码,线索中断&#xff08;当然try to restore it.png&#xff0c;隐藏了zip压缩包&#xff0c;可…

git提交本地项目到远程仓库

1、查看项目目录&#xff0c;是否存在.git文件夹&#xff08;若存在则删除&#xff09; 2、登录git并新建一个空白项目 3、idea创建本地git仓库&#xff08;选择本地项目&#xff09; 4、添加要提交的项目&#xff08;项目右键&#xff09; 5、提交代码到本地仓库 6、配置远程…