在python里为何不满足while条件,while里语句却可以执行?
while循环
上一节的条件语句实际上只能执行一次,如果要反复的判断执行一些事件要怎么办?
这个时候就需要靠while、for等循环语句了。
我们先来认识下while循环,何为while循环?就是在某条件下,循环执行一段语句,代码上可以表达为:
[python] view plain copy
while 判断条件:
执行语句
无限循环
你可能会发现,当你使用while的时候,如果while后面的条件一直为Ture,那这个while就会一直运行下去了。这样程序就会永无休止的运行下去,如果while里面有一些申请内存的操作,这样就会耗尽计算机的内存。但是不一定无限循环都是坏事,有些服务端程序故意使用无限循环,来等待客户端的消息。所以必须小心地使用while循环,循环条件不当可能会引起意料不到的结果。
再次运行代码,如果你输入不等于8的数,则进入while循环内,执行判断if语句。
print('------------------我爱鱼C工作室------------------')
temp=input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
# 这里给temp赋值如果不是8则进入while循环,如果是8则游戏结束
guess=int(temp)
while guess != 8:
# 这里guess不是8已经进入循环
temp=input("哎呀,猜错了,请重新输入吧:")
#这里重新给temp赋值,可能是8也可能是其他的东西。
guess=int(temp)
if guess == 8:
#重新赋值后判断是否为8.因为已经在循环里了。并没有设置guess不是8会跳出。所以还可以据需循环中的判断继续语句执行。
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
print("游戏结束,不玩啦^_^")
#其实这个不是8的循环提示并不完全,稍微修改下可以这样
print('------------------我爱鱼C工作室------------------')
temp=input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess=int(temp)
while guess != 8:
if guess == 8:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > 8:
print("哥,大了大了~~~")
temp=input("哎呀,猜错了,请重新输入吧:")
guess=int(temp)
else:
print("嘿,小了,小了~~~")
temp=input("哎呀,猜错了,请重新输入吧:")
guess=int(temp)
if guess==8:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
print("游戏结束,不玩啦^_^")
广告 您可能关注的内容 |