范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

python全项目实战系列(十一)有趣的猜数字游戏

  本系列旨在通过一系列由浅入深的python实战代码或项目,使普通人也能感受到编程的乐趣,编程能够在平时的工作生活上有所帮助。欢迎查看系列的开篇词和前面文章。概述
  设计一个基于python的猜数字游戏。
  首先你设置一下要猜测数字的位数和最多猜测多少轮NUM_DIGITS = 2  # 要猜测的数字的位数. MAX_GUESSES = 5  # 最大猜测次数.
  当你没有完全猜对时,根据你的猜测结果,有三种不同的结果反馈:没有猜测到其中任意一位数字:没有正确的数字有正确的数字但位置不对:正确的数字在不正确的地方猜到的正确数字有位于正确的位置:正确的数字在正确的位置
  根据这三种反馈,你可以不断调整,争取完全猜准确,如果在最大轮数之前你猜出来,则会显示猜对了,并结束游戏。代码实现过程
  代码中主要定义了3个函数来实现这个过程def getSecretNum(): 根据前面设置的位数,生成一个随机数用作谜底。def getClues(guess, secretNum): 把你的猜测数字和谜底进行比较,给出相应的反馈结果。def main(): 在你设置的猜测轮数中,进行比较,如果都没猜到,最终也会打印出正确结果,并询问你是否再来一次。
  需要注意的是:你猜测数字的位数要和谜底相等,否则会一直循环重新输入。
  详细代码注释""" Bagels, by Al Sweigart al@inventwithpython.com A deductive logic game where you must guess a number based on clues. This code is available at https://nostarch.com/big-book-small-python-programming A version of this game is featured in the book, "Invent Your Own Computer Games with Python" https://nostarch.com/inventwithpython Tags: short, game, puzzle """ import random  NUM_DIGITS = 2  # 要猜测的数字的位数. MAX_GUESSES = 5  # 最大猜测次数.  def getSecretNum():     "返回由 NUM_DIGITS 个唯一随机数字组成的字符串."     numbers = list("0123456789")  # 创建一个 0 到 9 的数字列表.     random.shuffle(numbers)  # 将它们随机排列.      # 获取密码列表中的前 NUM_DIGITS 位数字:     secretNum = ""     for i in range(NUM_DIGITS):         secretNum += str(numbers[i])     return secretNum  def getClues(guess, secretNum):     """     返回一个带有 pico, fermi, bagels 线索的字符串以供猜测    和密码对.     """     if guess == secretNum:         return "你猜对了!"      clues = []      for i in range(len(guess)):         if guess[i] == secretNum[i]:             # 正确的数字在正确的位置.             clues.append("正确的数字在正确的位置")         elif guess[i] in secretNum:             # 一个正确的数字在不正确的地方.             clues.append("正确的数字在不正确的地方")     if len(clues) == 0:         return "没有正确的数字"  # 根本没有正确的数字.     else:         # 将线索按字母顺序排序,使其原始顺序不泄露信息         clues.sort()         # 从字符串线索列表中创建一个字符串.         return " ".join(clues)   def main():     while True:  # Main game loop.         # 这存储了玩家需要猜测的秘密数字:         secretNum = getSecretNum()  #生成无重复数字的随机数         print("我想出了一个数字。")         print(" 你有 {} 次机会猜出它.".format(MAX_GUESSES))          numGuesses = 1         while numGuesses <= MAX_GUESSES:             guess = ""             # 继续循环,猜测字符的长度不是NUM_DIGITS的长度,或者字符不是10进制字符:             while len(guess) != NUM_DIGITS or not guess.isdecimal():                 print("Guess #{}: ".format(numGuesses))                 guess = input("请输入猜测的数字,如果位数不对,则会在此一直循环: ")              clues = getClues(guess, secretNum)             print(clues)             numGuesses += 1              if guess == secretNum:                 break  # 结果正确的,跳出这个循环.             if numGuesses > MAX_GUESSES:                 print("你没有猜到.")                 print("答案是 {}.".format(secretNum))          # 询问玩家是否想再玩一次.         print("你想再玩一次吗? (yes or no)")         if not input("> ").lower().startswith("y"):             break     print("感谢您的参与!")   # 从主程序运行游戏: if __name__ == "__main__":     main()
  一轮游戏结果如下,猜测5次,可惜差一点猜出来了。你可以调整数字位数和猜测轮数来体验一下。我想出了一个数字。  你有 5 次机会猜出它. Guess #1:  请输入猜测的数字,如果位数不对,则会在此一直循环: 13 没有正确的数字 Guess #2:  请输入猜测的数字,如果位数不对,则会在此一直循环: 25 没有正确的数字 Guess #3:  请输入猜测的数字,如果位数不对,则会在此一直循环: 47 正确的数字在正确的位置 Guess #4:  请输入猜测的数字,如果位数不对,则会在此一直循环: 46 正确的数字在正确的位置 Guess #5:  请输入猜测的数字,如果位数不对,则会在此一直循环: 48 正确的数字在正确的位置 你没有猜到. 答案是 49. 你想再玩一次吗? (yes or no) > n 感谢您的参与!

赖神国一老夫子被长生拿下,结果巅峰赛直接撞车,直接拿下比赛赖神国一老夫子被长生拿下,结果巅峰赛直接撞车,直接拿下比赛最近虎牙主播赖神可以说是非常郁闷,因为前不久自己痛失国一老夫子,要知道,老夫子一直都是赖神的招牌,如今国一老夫子被夺,这让寻找用于钠离子电池的热稳定锐钛矿来自青岛大学的研究人员合成了高性能的二氧化钛基负极材料,该材料具有出色的循环稳定性,可用于钠离子储存。来源青岛大学由可再生能源而不是有限的化石燃料驱动的电动汽车是最好的绿色选择,但微信8。0。30内测版发布,新增这些变化最近一段时间微信的新版本更新速度确实有点停滞,距离上一个微信正式版发布已经超过一个月了。在用户的期待之下,如今终于等到了苹果iOS微信8。0。30内测版发布,带来了以下几个新的变化马斯克成功收购Twitter,原CEOCFO已离开公司记者陆柯言埃隆马斯克最终还是完成了对Twitter的收购并将其私有化,最终收购价格为440亿美元。视频加载中这是一场不同寻常的收购,它意味着世界上最具影响力的社交平台之一已经被世界美媒马斯克完成440亿美元收购推特交易,立即解雇公司CEO等多名高管综合彭博美国消费者新闻与商业频道(CNBC)报道,当地时间10月27日,特斯拉CEO马斯克已完成以440亿美元将推特私有化的交易,并已掌管公司。另据华盛顿邮报报道,三名知情人士透露亚洲之光伊朗或被逐出世界杯?说起亚洲的足球,那必须得有伊朗的姓名,毕竟这可是亚洲的顶级强队之一。在1968年1972年和1976年,伊朗队在亚洲杯强势实现三连冠,展现了亚洲足球霸主的强劲实力。在本次世界杯预选这些美白补水抗氧化精华液口碑好价格实惠效果好!你值得拥有这些美白补水抗氧化精华液口碑好价格实惠效果好!你值得拥有!修丽可紫米饱满精华我觉得修丽可真的是个宝藏品牌,精华做的都非常优秀!什么色修CE精华就不说了,这款紫米精华我的小姐妹一定要街拍美女千千万,头条美女占一半质朴的颜色让小姐姐更加迷人,一双耐克的运动鞋也为其平添了一种运动风。棕色外套穿在白色衬衫外面,这是色彩的一种反差感,更能增加人们的好感度,牛仔裤更能修身,显出她的身材不一般,棕色的西部倒数第三!杨毅力挺火箭不是摆烂球队,赛拉斯难辞其咎该下课新赛季在大部分人眼里火箭还是一支摆烂的球队,赛季前5场比赛取得了1胜4负的成绩,目前排名西部倒数第三,但是在国内著名评论员杨毅看来,并非如此,他在自己的节目中力挺火箭不是摆烂的球队CBA外援新动态多队酝酿调整,广厦有了争冠基因,久事再遭打击CBA联赛常规赛第一阶段已经接近尾声,从进行的八轮比赛可以看出,这个赛季注定会成为一个不同寻常的赛季,吹罚规则的改变,强弱差距缩小,竞争格局变化,联赛过去的三强鼎力,两强争霸的传统CBA第一轮比较将结束,有3名外援面临被裁掉!实力发挥不出来头条创作挑战赛CBA第一阶段的比赛呢,也即将结束了,那在第二阶段的比赛开始之前的各大俱乐部肯定会进行很大的调整,11月份有国家队的世锦赛,所以呢,11月份呢,CBA是停赛的,那在这
每天都涂身体乳的女生,皮肤有什么变化?这差距不是一般的大文Nicolehi,我是Nicole,准备好一起变美了吗?在变美这件事上,皮肤护理一直是呼声很高的,不得不说,皮肤细腻确实能够给人更加优雅大气的感觉,而且皮肤细腻的人在人群中也总是没想到今年碎花裙玛丽珍鞋火了!洋气又减龄,照着穿就行带有时限性的潮流,才能让人心甘情愿的追求。或是精致,或是优雅,或是霸气,或是简约,每一道靓丽的着装风景线背后,代表的都是着装者倾注的心血。难在多年后依然令人回味的时尚搭配,自一登台郑钧妻子挺会扮嫩,穿碎花裙不够,还头戴2个蝴蝶结,看不出39岁碎花裙是一种难得的艺术品,之所以会给出这样的评价,是因为碎花裙的风格,是比较多元化的,能够体现出优雅迷人的风格,展现出迷人魅力。无论是大龄女性,还是年轻的女性,都可以通过这种着装,叶童老太快,戴假发出镜着装都显老派,同框大4岁青儿被碾压随着时代的发展,很多服饰都有了出镜的可能,设计也不再单一性,即使到了中老年阶段,造型也拥有了多样可能。现身活动的叶童和李美琪,俩人作为同辈,但是造型审美却大不相同,叶童以一袭裤装出WTT布达佩斯大满贯赛,国乒参赛阵容分析大猜想头号周刊本文作者功夫与乒乓版权文章,抄袭搬运必究。国乒又迎来一个大喜讯,7月份将在福地布达佩斯举办WTT大满贯赛。这是一场世界排名积分最高,又有200万美元奖金的世界三大顶级赛事之外援称赞中国足球节奏比欧洲联赛更快,但整体性很好近日,效力于陕西长安竞技的罗马尼亚外援罗纳尔多迪科努,接受了罗马尼亚媒体GSP的专访。罗纳尔多表示,尽管赛季还没有正式开始,但是他已经感受到了中国足球的激烈节奏。而对于在新球队的环著名演员文兴宇,去世15年后,妻子的坚持让人泪目,至今仍在怀念2007年7月30日,著名演员文兴宇因为身患肺癌,在北京去世。其妻子张克境多年后追忆丈夫,写下了这样一段话。可见生前的文兴宇,是多么地疼爱自己的妻子。只是病魔从来都是无情的,时至今知乎的第二曲线要靠职业教育?配图来自Canva可画随着用户流量见顶业务市场饱和,过去从大航海时代过来的互联网玩家们,不得不面对愈加复杂的严峻形势,以为接下来的发展做好充分的准备。作为兴起于移动时代的内容社区,篮球名将易建联父亲的6双球鞋让他泪目,娶名模妻子生两个儿子点击关注,每天都有名人故事感动您!易建联与荆灵和儿子易建联是享誉海内外的篮球名将,他长相帅气,球技精湛,在球迷中有着相当高的人气。易建联曾随队夺得北京奥运会男子篮球比赛第8名,两次两任妻子都是环球小姐,有巨人杀手之称的巴里亚去哪了?在天才球员扎堆的NBA,并不是所有人都能成为超级球星,小角色依靠与众不同的魅力也可以被球迷所熟知。今天介绍的这位球员,他在孩童时期便经历了鬼门关,他无比热爱篮球却被身高限制,他是一央视主持人周涛近况曝光!骑单车太接地气,衣领开到胸口锁骨明显近日,央视主持人周涛骑单车的照片,在网上曝光,引起大家的热议。照片中,她着一身休闲的运动装,衣领开到胸口,锁骨十分明显。已经54岁的她,看起来皮肤白皙紧致,十分年轻。网友在赞她接地