python入门之实现一个简单的小游戏,用python做一个简单的游戏
前言有些人可能学过一些Python基础,但是不知道该怎么做。今天我将教你玩一个简单的小游戏。
未经许可,禁止复制。
在文章的前言中会先用源代码抛出知识,讲解随机引入语法方法参数表示例同时语法示例拆分代码讲解生成随机数循环生成随机数增加循环条件和简单判断解决报错、增加错误输入和重新输入功能、限制用户输入次数的功能和效果缺陷。
它将被用来写作。
While循环
随机模块
如果语句
输入函数
先把源代码扔出去,导入random模块,用来生成随机数次数=10 #。设置我们的回答次数secret=random.randint(1,100) #。随机给出一个从1到9的数字。然后给secret print赋值(--)print(猜一个1到100之间的数)guess=0 #设置guess while的值(=secret)和(times 0): #结束条件,要么次数用完,要么答案正确。guess=int(input( guess my thinking:))#用户输入,并将其转换为整数times=times-1 #用户每次输入,如果guess==secret,则猜测次数为-1:#如果用户输入正确,则打印(恭喜您猜对了!)打印(‘哼,猜对了没有奖励!)break #跳出循环else:if guess secret:print( big big ~ ~ )#这里之所以不设置重新输入,是因为在if times 0:中已经做过了,以免丢失两次,还有,如果次数用完了,让我重新输入else: print (small,small -_-) if times 0: #判断次数是否用完。Print(重试:,end= ) else: print(机会用完T_T) print(我在想 str(secret)!)#揭晓答案打印(游戏结束,不玩_ )知识讲解随机介绍Python中的随机数运算简单,不像其他高级语言,要用特定的公式才能生成。
语法import random # Import模块random。Method () # Call方法方法参数表方法函数randint(一个整数,另一个整数)从一个整数-另一个整数的随机整数uniform(a,B)生成A和B之间的随机浮点数.目前我们使用的是randint()方法。
示例:import random random.randint (0,10) 5random.randint (0,10) 2while
语法while循环条件:语句示例num=0while num3:#如果num小于3,则输入循环num=1 #相当于num=num 1print(num)图表:
代码拆分生成随机数importrandom random.randint (0,100)运行结果:
random.randint(0,100)50 random.randint(0,100)28 random.randint(0,100)35 random.randint(0,100)15 random.randint(0,100)10 random.randint(0,00) 27 random.randint (0,100) 89 random.randint (0,100) 43 random.randint (0,100) 90 random.randint (0,100顺便说一下,你可以用一个循环反复做同样的事情。
生成循环随机数导入random while true:random . randint(0,100)运行结果:
2007年,我在纽约的一家书店买了一本新书,名为《华尔街日报》。20067.688666866667你可以看到,它一直输出随机数,这不是我们想要的。我们想要的是用户输入一个数字,并与这个随机数进行比较。
增加循环条件和简单判断:将生成的随机数存入变量中进行判断和比较。
import random secret=random . randint(0,100)# Generate random integer Guess=input(猜猜我在想什么:)#一边猜一边获取用户输入!=secret:#当用户输入不等于生成数时,如果guesssecret则进入循环:#当用户输入数大于随机数时,打印( big big @ @ )#打印提示文本else:#当用户输入数小于随机数时,打印( small _) #打印提示文本(恭喜您回答正确!)打印(‘哼,对了,没有奖励!’)打印(‘游戏结束了,不玩了~’)好像没问题,跑吧。
运行后,发现报告了一个错误:
猜猜我在想什么:12 trace back(最近一次调用last):文件 c:/users/administrator/desktop/aa . py ,第5行,在模块if guesssecret:# TypeError:当用户输入的数字大于随机数时,在 str 和 int 的实例之间不支持 。哦,原来没有转换类型,输入返回一个字符串,不能和整数比较。
之后:
import random secret=random . randint(0,100)# Generate random integer guess=int(input( guess我在想什么:))#获取用户输入并在guess的同时转换为整数!=secret:#当用户输入不等于生成数时,如果guesssecret则进入循环:#当用户输入数大于随机数时,打印( big big @ @ )#打印提示文本else:#当用户输入数小于随机数时,打印( small _) #打印提示文本(恭喜您回答正确!)打印(‘哼,对了,没有奖励!’)打印(游戏结束了,不要再玩了~ )运行:
small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small _ small Raceback(最近一次调用last):file c:/users/administrator/desktop/aa . py ,line8,in module print (too small _) #打印提示文本KeyboardInterrupt还是有问题!
解决报错问题,增加错误输入和重新输入功能,限制用户输入次数。学生想一想。打印提示时,用户不重新输入,会一直满足那个条件,会循环打印。
然后我们可以添加重新输入功能。输入错误时,我们会重新输入,不会循环打印。
增加用户输入功能,防止用户一直猜测。
1.当然,由于另一个函数的加入,正确的提示不能放在循环之外,
2.之所以不设置打印大或小时的重新输入,是因为在if times 0:中已经做过了,这样可以避免两次丢失,也可以避免次数用完时再次丢失。
导入random #导入到random模块中,用于生成随机数次数=10 #。设置我们的回答次数secret=random.randint(1,100) #。随机给random一个1到9的数,然后赋一个值给secret print ( -猜一个1到100之间的数)guess=0 #设置guess while (=secret)和(times 0)的值:#结束条件,要么次数用完,要么答案正确。guess=int(input( guess my thinking:))#用户输入,并将其转换为整数times=times-1 #用户每次输入时,如果guess==secret,则猜测次数为-1:#如果用户输入正确,则打印(恭喜您猜对了!)打印(‘哼,猜对了没有奖励!)break #跳出循环else:if guess secret:print( big big ~ ~ )#这里之所以不设置重新输入,是因为在if times 0:中已经做过了,以免丢失两次,还有,如果次数用完了,让我重新输入else: print (small,small -_-) if times 0: #判断次数是否用完。Print(重试:,end= ) else: print(机会用完T_T) print(我在想 str(secret)!)#揭秘答案打印(游戏结束,不玩_ )效果
没有为缺陷设置输入限制。如果用户输入字母,int转换会报错;这个我就不写了。有兴趣的同学可以写在评论区。有什么不明白的,欢迎在评论区提问。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。