在python里为何不满足while条件,while里语句却可以执行?

如图, while循环应该是满足条件再执行,但是如图程序,只有当while guess!=8时才会执行循环。但是在这个while循环体里面有一个if guess==8,当guess==8时,根本不满足while的循环条件,应该就直接跳过while里面的语句不执行。为什么当输入8的时候却可以正常执行呢?

输入8执行外部的循环,接着要求继续输入
while循环
上一节的条件语句实际上只能执行一次,如果要反复的判断执行一些事件要怎么办?
这个时候就需要靠while、for等循环语句了。
我们先来认识下while循环,何为while循环?就是在某条件下,循环执行一段语句,代码上可以表达为:

[python] view plain copy
while 判断条件:
执行语句

无限循环
你可能会发现,当你使用while的时候,如果while后面的条件一直为Ture,那这个while就会一直运行下去了。这样程序就会永无休止的运行下去,如果while里面有一些申请内存的操作,这样就会耗尽计算机的内存。但是不一定无限循环都是坏事,有些服务端程序故意使用无限循环,来等待客户端的消息。所以必须小心地使用while循环,循环条件不当可能会引起意料不到的结果。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-23
你把这段代码重新运行一次,第一次直接输入8你会发现没有结果输出,就是因为直接跳过了while循环。
再次运行代码,如果你输入不等于8的数,则进入while循环内,执行判断if语句。
第2个回答  2018-01-20

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


python while循环不满足条件也进入循环怎么回事
有一种可能的情况是循环中创建了局部变量作用域。一般来说python的关键字比如for while with等等是不会创建一个新的变量作用域的,但是如果在循环中创建了函数就会创建了一个新的变量作用域,可能导致前后循环里的n不是同一个。当然也有可能是第一个循环出来的n并不是1,最好在第一个循环后打印n的...

python代码,为什么不执行while循环?
在这段代码中,如果start变量的输入值大于finish变量的输入值,while循环就不会执行,因为不满足进入循环体的条件。

python中的while循环可以做什么东西?
简单的说,while是满足一定条件就一直执行循环体,直到不满足指定条件,当然,也可以在循环体中使用break结束(跳出)while块。例如,要在随机范围内取一个整数,但又不能是上一次取到的数,(歌曲播放中的随机播放),就可以用它来避免播放刚刚播放的歌曲:再例如,要按顺序生成一组文件名,可以做一个类似...

python while循环语句是什么?
Python 中,while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。相关说明 英语(英文:English)是一种西日耳曼语支,最早被中世纪的英国使用,并因其广阔的殖民地而成为世界使用面积最广的语言。英...

为什么python中的for和while有什么区别?
Python中的for循环和while循环都是用来实现重复执行代码块的结构。for循环通常用于遍历序列(如列表、元组或字符串),而while循环则用于在满足特定条件时重复执行代码块。1. for循环的语法结构:python for 变量 in 序列:执行的代码块 这里,“变量”是一个临时变量,用于在每次迭代中存储序列的当前元素。

python循环语句
python循环语句如下:一、while循环:while循环除了需要使用缩进来执行循环体里的语句,其它几乎和C语言相同。当条件语句为真(True)时,就会执行while循环下的语句。其次,while中的条件语句可以不唯一,但是不再像C语言一样用&&,||,!等逻辑运算符(因为Python中没有这些),而是用 and(与),or(...

关于python while循环的问题
首先,外层while的i为0时,内层的while循环了2次,因此打印了两次,内层while循环完毕后,此时的j=0了(减了2次),i的值为1。然后,外层while的进行第二次循环(条件满足1<2),此时的i在内层while中因i<j的值不满足条件(1<0),因此不输出打印信息,第二次对i进行加法运算,此时i的值为2了...

在python语言中,对于预先不能确定循环次数的算法可以用while语言来实现...
可以的。在Python语言中,可以使用 while 循环来实现预先不能确定循环次数的算法。 while 循环会在满足条件的情况下一直执行循环体,直到条件不再满足时跳出循环。因此,当需要在循环中根据某些条件来决定是否继续循环时,可以使用 while 循环。下面是一个使用 while 循环来实现预先不能确定循环次数的算法的...

while的用法是什么啊
在编程中,while语句是一个常用的控制流语句,用于创建一个循环,该循环会一直执行其代码块,直到给定的条件不再满足。基本用法 while语句的语法形式为:python while 条件:代码块 其中,条件是一个表达式,如果其结果为真,则执行代码块;如果结果为假,则跳过代码块并继续执行后续的代码。详细解释 1. ...

python如何达不到条件就循坏?
import random prompt_1=int(input('xxxxxx'))if prompt_1==1:number_1=random.randint(0,50)guess_1=-1 while guess_1!=number_1:guess_1=int(input('yyyyyy'))if guess_1<number_1:print('你猜的小了')if guess_1>number_1:print('你猜的大了')print('你赢了')...

相似回答