Python实现烧脑猜数字小游戏——超详细注解
本例是我在中国MOOC学习基础语法时做到的小例子,这里加上我的理解和一些注释分享给大家希望能够对大家有所帮助~
一、需求分析
案例:烧脑的猜数字小游戏(共10关)
编写程序,实现可升级的猜数字小游戏,游戏规则如下:
1.该游戏共有10个关卡,默认当前关卡为第1关,第1关: 随机数1-10;第2关:随机数1-20,…第10关:随机数1-100。
2.进入游戏关卡后, 系统产生该关卡的随机数,提示用户输入猜测的数字,猜对或达到次数后结束该关卡,如果达到闯关标准,进入下一关,否则继续进入该关卡闯关。
①每个关卡有100积分, 共5次猜数字机会, ②关卡总积分大于等于100时, 可进入第2关,大于等于200时,可进入第3关,依次类推。 ③猜数字时,如果用户猜对不扣分,猜错扣20积分,猜大提示大了,猜小提示小了。
3.输入0时, 退出游戏,输入1时继续游戏,其他情况默认进入游戏。
二、编程思路
根据题意我们能够知道游戏关卡和游戏总积分是一直要用到的,所以我们将他设置为全局变量,并且将关卡初始值定义为1。根据要求三我们可以采用while循环,让用户输入1/0来判断是继续游戏还是退出游戏。关于要求二我们需要引入random包,来进行随机数的相关操作。下面展示一下最终结果:
三、完整代码
#烧脑猜数字小游戏 import random #1.定义游戏菜单、等级及总积分 menu=""" --------------------烧脑的猜数字小游戏(共10关)-------------------- """ rank = 1 #游戏关卡,默认为第一关 allScore = 0 #总积分 print(menu)#2.打印输出菜单 #3.用while循环,控制整个程序的执行过程 while True: #闯关操作 #4.进入游戏后,系统产生该关卡的随机数 number = random.randint(1,rank*10) #5.提示用户输入猜测的数字,猜对或达到次数后结束该关卡 #每个关卡有100分,共5次猜数字的机会。 score = 100 n = 5 for i in range(1,n+1):#表示猜字次数 #猜字过程 guess = int(input("请输入您猜的数字(1-%d):"%(rank*10))) if guess == number: print("猜对啦!恭喜您获得%d积分"%(score)) break elif guess > number: print("大了,大了...") else: print("小了,小了...") #猜错,本关卡扣20积分,提示用户 score = score - 20 print("您本轮积分还有%d,只剩%d次机会!"%(score,n-i)) allScore += score #实现积分的累加 #关卡总积分大于等于100时,进入第二关,大于等于200时,进入第三关,以此类推 if(allScore//100+1)>rank: rank+=1 print("恭喜您已获得【%d】积分,成功升级到第【%d】关!"%(allScore,rank)) else: print("恭喜您已获得【%d】积分,第【%d】关!" %(allScore,rank)) if rank == 10: print("恭喜您已经通关") else: pass #判断是否继续闯关,输入0时,使用break语句跳出循环 #3.输入0时,退出游戏,输入1时,继续游戏,其他情况默认进入游戏。 begin = input("继续闯关吧?(1-继续,0-退出):") if begin == 0: break elif begin == 1: pass else: print("您输入的操作码不正确,默认进入闯关状态!") #跳出while循环后 print("太遗憾了...您已经入第【%d】关,获得【%d】积分都将被清零!"%(rank,allScore))
注:range()函数是左闭右开的,即包含左值,不包含右边
引用源自
中国MOOC ppython编程基础https://www.icourse163.org/course/HBRJ-1206206801
本篇完,如有错误欢迎指出~
上一篇:
uniapp开发微信小程序-2.页面制作