我们以上一次甲鱼小游戏为例,源代码如下
"""用python设计第一个游戏"""
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字")
guess = int(temp)
if guess == 8:
print("你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没奖励!")
else:
print("猜错啦,小甲鱼现在心里想的是8")
print("游戏结束,不玩啦")
1.我们需要在用户输入错误的时候给用户一点提示
利用条件分支if_else,具体操作如下:
"""用python设计第一个游戏"""
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字")
guess = int(temp)
if guess == 8:
print("你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没奖励!")
else:
if guess < 8:
print("小啦")
else:
print("大啦")
print("游戏结束,不玩啦")
2.用户希望能多来几次,这时候我们需要重复运行某段代码
利用while循环语法
即: while 条件
条件为真(Ture)执行的操作,但是这样就会无限循环,那么我们此时利用counts,将循环次数控制在3以内,演示如下:
"""用python设计第一个游戏"""
counts = 3
while counts > 0:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字")
guess = int(temp)
if guess == 8:
print("你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没奖励!")
else:
if guess < 8:
print("小啦")
else:
print("大啦")
counts = counts-1
print("游戏结束,不玩啦")
3. 第三个要求,就是用户第一次就猜对啦,那么只需要将这个代码循环一次就可以结束程序,
此时利用break语句:
作用就是跳出一层循环体
展示如下
"""用python设计第一个游戏"""
counts = 3
while counts > 0:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字")
guess = int(temp)
if guess == 8:
print("你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没奖励!")
break
else:
if guess < 8:
print("小啦")
else:
print("大啦")
counts = counts-1
print("游戏结束,不玩啦")
4.我们为了让每次的答案都是随机的,所以引入外援,random模块
random模块就是生成随机数的相关模块,这里面有个函数叫做randint(),它会返回一个随机整数
那么我们利用它来改进游戏,如下
"""用python设计第一个游戏"""
import random
counts = 3
answer = random.randint(1,10)
while counts > 0:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字")
guess = int(temp)
if guess == answer:
print("你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没奖励!")
break
else:
if guess <answer:
print("小啦")
else:
print("大啦")
counts = counts-1
print("游戏结束,不玩啦")
首先引入函数,其次给变量赋值,最后将下文当中的8全部改成变量名,此时,我们游戏改进结束。
课外知识扩展(其实我没懂,但是甲鱼讲了,记一下)
就是random这个生成随机数的时候,我们可以对它生成的随机数进行攻击,如何攻击,我们可以利用random中的setstate函数重新设置随机数生成器的内部状态,这样就会重复得到我们先前设置的随机数
代码如下
import random
x = random.getstate()
print(x)
random.randint(1,10)
random.seastate
random.randint(1,10)
最后两行代码是在前面已经打印出几个随机数之后写出来的,这样就会重复打印出上面的随机数。