最新要闻
- 国家卫健委:去年全国居民健康素养水平比2021年提高2.38个百分点
- “草原天路”“桑洋水路”全媒体采访行丨美丽的遗鸥 深情的康巴诺尔
- 宁波东力股东户数增加345户,户均持股5.97万元
- 网红馆长再批赖品妤:当台湾人智商负200?
- 帝吧男孩是什么意思
- 诈骗分子盯上孩子电话手表,他们这样行骗→
- 大行评级|富瑞:上调东方海外国际目标价至87港元 评级“跑输大市”
- 寒夜歌_关于寒夜歌介绍
- 一批“赚钱项目”扎堆小红书,专门收割创业小白
- 富力地产新增两则被执行人信息,执行标的逾31亿元
- 借条写的不规范受法律保护吗
- 索尼蓝牙音箱的SRS-XB13使用说明书(索尼蓝牙音响)
- 1C+2A+14孔:艾克盾主动灭火魔方插头19.9元新低大促
- 汽车价格战又“杀疯了”!上汽大众凌度L限时至高优惠3万
- 别等5G资费下降了!工信部:我国5G用户、5G基站创新高
- 全球份额已达49.4%!中国新能源车弯道超车:绕过内燃机大山
手机
华西证券给予芒果超媒增持评级 小芒电商GMV高增长 探索AIGC新应用场景
掼牌友谊赛添彩传统七夕节
- 华西证券给予芒果超媒增持评级 小芒电商GMV高增长 探索AIGC新应用场景
- 掼牌友谊赛添彩传统七夕节
- 《孤注一掷》:网线另一端的千谎百计
- 2023年郑州银基乐海水世界七夕活动(时间+地点+活动内容)
- 独一无二的生日文案(5篇)
- 军神广场智能喷雾降温系统投入使用
家电
Python基础小案例:猜谜游戏
本教程将演示用Python开发一个简单的数字猜测游戏的过程。
竞猜游戏的机制
我们正试图开发一个游戏,从用户那里获取上限和下限,在这个范围内生成一个随机数,要求用户猜测这个数字,并计算用户用了多少条线索才猜对了。这个游戏将只基于CLI。
(资料图片)
使用Python中的random 模块的数字猜测游戏
我们的程序做的第一件事是接受用户的上限和下限作为输入。这可以用Python内置的input() 方法来完成。
input() 方法从命令行中读取输入,并将其作为一个字符串返回。这里唯一的问题是,我们想输入整数值。
我们可以把我们的input() 方法包在内置的int() 方法里面来解决这个问题。这将把input() 方法返回的输入字符串转换成一个整数值。
下面的例子显示了这个步骤的工作实现。
代码:
lower_limit = int(input("Please enter the Lower Limit"))upper_limit = int(input("Please enter the Upper Limit"))print("Lower Limit =", lower_limit)print("Upper Limit =", upper_limit)
输出:
Please enter the Lower Limit0Please enter the Upper Limit99Lower Limit = 0Upper Limit = 99
我们可以在输入input() 方法里面的数据作为输入参数的同时,写出我们要显示给用户的信息。由于我们有下限和上限,我们可以很容易地写一些代码,在这个范围内生成一个随机的整数。
我们可以使用Python中内置的random 模块来执行这项任务,称为random.randint() 方法。它将下限和上限作为输入参数,并返回该范围内的一个整数。
下一个代码例子显示了如何使用Python的random.randint() 方法在指定范围内生成一个随机的整数。
代码:
import randomnumber = random.randint(lower_limit, upper_limit)print("Random Number =", number)
输出:
Random Number = 47
到目前为止,我们已经从用户那里获取了极限值,并在这些极限值内生成了一个随机整数。我们必须把用户的猜测与随机生成的数字进行比较。
这可以通过将input() 方法与一个简单的if/else块相结合来实现。
代码:
guess = int(input("Guess the number"))if guess == number: print("Yes, You are correct")else: print("Incorrect Answer!")
输出:
Guess the number15Incorrect Answer!
这里唯一的问题是,它没有给我们提供猜出正确数字的线索。它告诉我们是对还是错,这不是一个有趣的游戏方式。
我们可以通过放置多个if语句并在一个循环中执行这些语句来改进,直到用户猜对数字。
代码:
win = Falsewhile win != True: guess = int(input("Guess the number")) if guess == number: win = True print("Yes, You are correct") elif guess < number: print("You are a little shorter") else: print("You are a little larger")
输出:
Guess the number5You are a little shorterGuess the number95You are a little largerGuess the number47Yes, You are correct
我们使用了一个while 循环,因为我们不知道用户要经过多少次试验才能得到正确的答案。我们创建了一个标志变量win ,告诉while循环何时停止,而win 变量被设置为False ,直到用户猜对数字为止。
我们的数字猜测游戏几乎已经完成了,其中唯一缺少的是计算用户在达到正确答案时的试验次数的得分计数器。我们可以修改我们之前的代码,在循环中使用一个计数器变量。
下面的代码片段显示了我们如何在数字猜谜游戏中添加一个计分机制。
代码:
win = Falsesteps = 0while win != True: guess = int(input("Guess the number")) steps += 1 if guess == number: win = True print("Yes, You are correct") print("Number of Trails =", steps) elif guess < number: print("You are a little shorter") else: print("You are a little larger")
输出:
Guess the number22You are a little shorterGuess the number44You are a little shorterGuess the number47Yes, You are correctNumber of Trails = 3
我们添加了一个步骤计数器,记录了用户完成游戏所花的试验次数。
代码:
import randomlower_limit = int(input("Please enter the Lower Limit"))upper_limit = int(input("Please enter the Upper Limit"))number = random.randint(lower_limit, upper_limit)win = Falsesteps = 0 #Python小白学习交流群:711312441while win != True: guess = int(input("Guess the number")) steps += 1 if guess == number: win = True print("Yes, You are correct") print("Number of Trails =", steps) elif guess < number: print("You are a little shorter") else: print("You are a little larger")
输出:
Please enter the Lower Limit0Please enter the Upper Limit10Guess the number5You are a little largerGuess the number2You are a little shorterGuess the number3You are a little shorterGuess the number4Yes, You are correctNumber of Trails = 4
输出显示,游戏只运行了一次。它不会让用户继续玩游戏,直到他们感到厌烦。
我们可以把整个程序封闭在另一个循环中,反复执行游戏,直到用户想退出游戏。
完整的代码:
import randomplay = Truewhile play == True: lower_limit = int(input("Please enter the Lower Limit")) upper_limit = int(input("Please enter the Upper Limit")) number = random.randint(lower_limit, upper_limit) win = False steps = 0 while win != True: guess = int(input("Guess the number")) steps += 1 if guess == number: win = True print("Yes, You are correct") print("Number of Trails =", steps) elif guess < number: print("You are a little shorter") else: print("You are a little larger") replay = int(input("Enter -1 to replay the game.")) if replay != -1: play = False
输出:
Please enter the Lower Limit1Please enter the Upper Limit3Guess the number2You are a little largerGuess the number1Yes, You are correctNumber of Trails = 2Enter -1 to replay the game.-1Please enter the Lower Limit1Please enter the Upper Limit3Guess the number2You are a little largerGuess the number1Yes, You are correctNumber of Trails = 2Enter -1 to replay the game.0
我们创建了另一个标志变量,play ,告诉我们的外部或主循环何时停止执行。如果用户提供了除-1 以外的任何数字,外循环将停止执行,假设用户已经厌倦了反复玩这个游戏。
这是一个非常简单的游戏实现。我们在代码中只导入了random 模块来生成一个随机数。
关键词:
Python基础小案例:猜谜游戏
用Python创建海龟图形(turtle 库用法)
华西证券给予芒果超媒增持评级 小芒电商GMV高增长 探索AIGC新应用场景
掼牌友谊赛添彩传统七夕节
30岁眼霜排行榜前十名眼霜排行榜10强 30岁眼霜推荐
第一医药: 上海第一医药股份有限公司2023年第一次临时股东大会会议资料
国家卫健委:去年全国居民健康素养水平比2021年提高2.38个百分点
范县:“寻”“助”“护”筑牢人才强县战略根基
《孤注一掷》:网线另一端的千谎百计
偏执叶少叶凌渊刘若涵短剧在哪看
智慧赋能 重庆山地农业加快数字化转型
电影放映员马宏利的“光影人生”
2023年郑州银基乐海水世界七夕活动(时间+地点+活动内容)
兴业证券首席经济学家王涵:政策托底经济,市场与经济良性互动可期
“草原天路”“桑洋水路”全媒体采访行丨美丽的遗鸥 深情的康巴诺尔
天翼云深耕产业数字化 锚定千亿目标不动摇
中国建设世界最大国家公园体系 守护万物和谐共生
65只股中线走稳 站上半年线
联想集团杨元庆:PC市场需求已见底 将发力两大“锚点”技术
独一无二的生日文案(5篇)
全球新能源上半年销量达583万辆 比亚迪拉大与特斯拉差距
广西首个湿法回收锂电池项目即将投产
军神广场智能喷雾降温系统投入使用
「河南」滑县佳怡便利店涉嫌经营超过保质期的食品案
惠企纾困,中信银行“信E采”高效解决中小企业融资需求
中国印钞造币集团有限公司原董事陈义清被查
漯河源汇区大刘镇供销社“为农服务中心”揭牌
西峡法院:联动合力共调解 为爱放手促和谐
香港屋宇署:6月共批出13份建筑图则以及20份入伙纸
成果转化 最有成就感──记敬业奉献道德模范张学礼
常州超级MAX新龙芒禾音乐节有TangoZ钟祺吗?
嘉实基金将自购5000万元权益类基金
规范管理网约车聚合平台 中消协开展社会监督
晨读|汤朔梅:老刘的高光时刻
难怪郭麒麟不愿意回家呢!就这场面谁看了不说一句心疼郭麒麟!
北交所发布《北京证券交易所股票向不特定合格投资者公开发行与承销业务实施细则》
天猫双十一红包攻略图(天猫双十一红包攻略)
蒋家窖(关于蒋家窖简述)
中国人都爱喝哪些白酒
南向资金今日净买入95.65亿港元
1年期LPR下调10个基点
北京严禁使用AI生成处方,非新规
宁波东力股东户数增加345户,户均持股5.97万元
一图了解“高温杀手”热射病为何会致命
贵州六盘水钟山区街道议政代表会制度:“泥味”平台绘就为民底色
重庆区县“赛”消费|荣昌区商务委副主任谢开翠:“商文体旅”深度融合 打造成渝腹心融合消费样板城市
丑化民族形象!在韩表演“僵尸跆舞”跆拳道馆被处罚
2023年小红书好做吗?怎么推广?
积极拥抱“双碳”经济发展大潮,碳酸锂期货助力新能源行业高质量发展
《BREAK ARTS III》steam页面上线 自由改装机甲对战
内蒙古自治区能源化学地质工会开展一线职工疗休养活动
网红馆长再批赖品妤:当台湾人智商负200?
台湾2023年GDP增长率预测为近八年最低
祁阳市龚家坪镇:“信易批”为优化营商环境注入“信”力量
第7届南博会红河州达成进出口贸易意向采购18.3亿美元
西部文博会6号馆文化产业赋能乡村振兴
哈焊华通(301137)龙虎榜数据(08-21)
宁波建工:子公司签订5.02亿元航空航天产业配套研发制造基地建设工程施工合同
帝吧男孩是什么意思
小商品城上半年营收51.61亿元 净利润同比增长63.5%
董明珠称不招“只想要多少工资”的员工,年轻人找工作要想想你能做什么
中泰证券:给予新澳股份买入评级
上海证券:给予尚太科技买入评级
云南大学湖南录取分数线 云南大学湖南招生人数多少
诈骗分子盯上孩子电话手表,他们这样行骗→
大行评级|富瑞:上调东方海外国际目标价至87港元 评级“跑输大市”
中国宏桥(01378):业绩拐点或将兑现 高股息优质龙头配置价值凸显
今日申购:儒竞科技
第39冠继续刷新纪录!德约科维奇辛辛那提站逆转阿尔卡拉斯 具体是什么情况?
寒夜歌_关于寒夜歌介绍
ROG GAMESCOM 新品发布会预热,明晚发布主板、显示器新品
进驻园区仅3个月就接“腾退令” 企业权益谁来保障?
一批“赚钱项目”扎堆小红书,专门收割创业小白
“九峰山”相助,辉县这条乡村道路变身“网红路”
通许县召开“共建共享星”“宜业兴业星”创建专班工作推进会
同比增长11.5%!1-7月全国一般公共预算收入达139334亿元
给嘿嘿!康巴汉子在西藏昌都比拼力量
8月18日伦敦LME锌锭库存行情
天津治疗梅毒哪家医院效果好?-输血会引起梅毒感染吗?
高中辅导老师怎么选科目?
悦康药业(688658)8月21日主力资金净卖出1358.77万元
禾信仪器(688622)8月21日主力资金净买入33.74万元
煜邦电力(688597)8月21日主力资金净卖出39.48万元
从供需两端看北疆文化新格局
闰土股份:截至2023年8月18日,公司的股东人数为37,092
985 高校博士生夫妻申请“夫妻宿舍”,校方安排两张单人床引热议!
直播预告:“幸福热爱季·七夕财富专场”将于21日晚上线
云南永胜公安夏季治安打击整治见实效
富力地产新增两则被执行人信息,执行标的逾31亿元
ATP最新排名公布:阿卡20分优势守住世界第一,张之臻小幅下滑
罗马诺:切尔西还想再买一名进攻球员,替代受伤的恩昆库
武汉三镇:中超首胜蓉城,赢来打磨战术空间
当年轻人爱上“刮刮乐”
借条写的不规范受法律保护吗
索尼蓝牙音箱的SRS-XB13使用说明书(索尼蓝牙音响)
屹通新材2023年上半年净利3018.61万 同比减少41.99%
1C+2A+14孔:艾克盾主动灭火魔方插头19.9元新低大促
汽车价格战又“杀疯了”!上汽大众凌度L限时至高优惠3万
别等5G资费下降了!工信部:我国5G用户、5G基站创新高
全球份额已达49.4%!中国新能源车弯道超车:绕过内燃机大山