美文网首页
[6]零基础学习Python基础之if语句的嵌套和循环结构whi

[6]零基础学习Python基础之if语句的嵌套和循环结构whi

作者: ShanSly | 来源:发表于2021-06-21 07:57 被阅读0次

学习参考:https://www.bilibili.com/video/BV1c4411e77t?p=7

一、代码回顾:
temp=input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess=int(temp)

if guess == 8:
    print("你是小甲鱼心中的蛔虫嘛?!")
    print("哼,猜中了也没奖励!")
else:
    print("猜错啦,小甲鱼现在心里想的是8!")
print("游戏结束,不玩啦")
二、改进方案:

1、当用户猜错时,程序应给出提示
2、应提供多次机会给用户
3、每次运行程序,答案应该随机

三、解决方案:

问题一[错了给提示]:if语句——在else中使用"嵌套"
①如果用户输入的是3,那么应该告诉用户小了;如果用户输入的是9,那么告诉用户大了。

temp=input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess=int(temp)

if guess == 8:
    print("你是小甲鱼心中的蛔虫嘛?!")
    print("哼,猜中了也没奖励!")
else:
    if guess < 8:
        print("小于该值")
    else:
        print("大于该值")
    
print("游戏结束,不玩啦")
Figure1-else嵌套

关于else的嵌套格式
1、和之前if语句中的循环是一样的,但是如果你想要加条件句,必须在if的部分进行操作,else不可以加条件句的哦!
2、在判断符号的前后都是要加空格缩进的,例如:” guess < "
3、正如Figure1-else嵌套]图展示的一样,if语句自动设置了缩进格式。

问题二[给多次机会]:循环结构
如果用户猜错了,不能仅仅只玩一次就结束了。
1、While循环语句

基本格式:
while 判断条件(condition):
执行语句(statements)……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假 false 时,循环结束。
执行流程图如下:


①首先,运用基本的格式:



因为counts>0,返回的结果是TRUE,所以一直执行who are you 的语句。不断重复....(+N)
②其次,如何设定仅返回三次结果呢?

>>> counts =3
>>> while counts > 0 :
    print ("my my")
    counts = counts - 1 
my my
my my
my my

在设定while后,执行时再次输入一个条件句,将条件由TURE变为FALSE即可。
③返回到设计小游戏,使用while语句设定三次机会

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("游戏结束,不玩啦")

关于这段代码,注意要点如下:
1、counts以及while的位置放在哪里合适?如果我们这么放,会怎么样?

temp=input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
counts = 3
while counts > 0 :
 guess=int(temp)
 if guess == 8:
    print("你是小甲鱼心中的蛔虫嘛?!")
    print("哼,猜中了也没奖励!")
 else:
    if guess < 8:
        print("小于该值")
    else:
        print("大于该值")
 counts = counts -1
print("游戏结束,不玩啦")

返回的结果会是什么?因为While放的位置,所以仅执行如下的命令:



当你输入一个值时,根据命令会连续返回三次结果(counts=counts-1),且每次都不会询问("不妨猜一下小甲鱼现在心里想的是哪个数字:")这句话,因为while放的位置是在这句话的下面!比如输入5:



关于其他的位置放置,大家也可以自行尝试!

2、注意缩进:如我们在执行counts =counts-1时,如果缩进位置不对,会怎么样?缩进如下:

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("游戏结束,不玩啦")

如果缩进是这样的,那么会怎么样呢?
如果输入>8,前面设置了while,就会进入if中的else,因为counts=counts-1是图2所示对其的,所以只有当输入>8时,会重复循环3次。

Figure2
2、break循环语句——一层循环体

①break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
②break语句用在while和for循环中。
③如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。


举例:



注意:break在这里就是一个分水岭,break前面的命令仍然执行,但是当遇到break时,就会跳出循环体,后面的循环部分就不再执行了。所以跑出来的就是一条"leilei is busying" 。如果不加break,那么就会一直输出"leilei is busying" 且不停止。

返回到游戏中,改进"当输入8时,不在循环重复三次"的问题

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
 break
print("游戏结束,不玩啦")

注意缩进格式哦!break应该与if guess== 8对齐!

相关文章

网友评论

      本文标题:[6]零基础学习Python基础之if语句的嵌套和循环结构whi

      本文链接:https://www.haomeiwen.com/subject/kyvlyltx.html