小甲鱼python笔记——条件分支、初始循环、breaker语句,random模块

我们以上一次甲鱼小游戏为例,源代码如下

"""用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)

最后两行代码是在前面已经打印出几个随机数之后写出来的,这样就会重复打印出上面的随机数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值