Crossin的编程教室
标题:
【python入门 第8课】弄不清语句间的逻辑,求大神指点迷津
[打印本页]
作者:
python-learner
时间:
2016-7-27 22:57
标题:
【python入门 第8课】弄不清语句间的逻辑,求大神指点迷津
本帖最后由 python-learner 于 2016-7-27 23:55 编辑
num=10 #赋值
print "guess what I think?" #系统输出语句"guess what I think?"
bingo = False #bingo“赋值”为False 【问题1:bingo在Python中有什么含义吗?为何要为bingo设定值?为何要有这个语句?】
while bingo == False:#一旦满足条件“判定” bingo为false【问题2:理解不了这个设定】
answer= input() #输入为answer
if answer < num: #如果输入小于赋值
print "too small"#输出"too small"
if answer > num:#如果输入大于赋值
print "too big"#输出"too big"
if answer == num:#如果输入等于赋值
print "bingo"#输出"bingo"
bingo = True#bingo“赋值”为True
#【问题3:bingo为什么可以有两个不同的判定结果?bingo在判定True的时候,和第三行语句用的是同一个判定符号“=”,为什么不和第四行语句用一个判定符号“==”?我查了一下,“=”是赋值,“==”是判断,可是还是有点乱,为什么最开始为bingo赋值False后,还要对其是否为False进行判定?】
=============================================================================================================
我看了@
crossin先生
老师与其他人的交流,bingo=False是让bingo的值为False,while bingo==False:是判断bingo的值是不是等于False,如果等于,那么就进入循环,否则就跳出循环。那是否可以理解为:第三个if语句仍然是符合while循环判定的,仍然属于while循环的一部分;而一旦系统输出语句“bingo”,继而按照程序bingo = True的设定,跳出了while循环。可是1)bingo在同一程序中被赋两个不等同的值;2) answer < num、 answer >num、 answer == num都属于while bingo == False的范畴,那bingo = True判定是不是因为与bingo = False 对立,而导致while循环结束?[头脑混乱.JPG]
作者:
karlchen
时间:
2016-7-28 09:40
程序刚运行到while bingo == False这一句的时候,如果你的bingo是true的话,那么就不会执行while 循环里面的语句了,程序就结束了。刚开始的赋值语句bingo = False是为了保证第一次执行的时候必然会执行到while 循环里面去。
如果猜对了,bingo = True是为了while循环到下一次的时候,发现不符合循环条件,就退出循环。如果不设置bingo = True的话就算你猜对了也会一直循环下去,你可以把bingo = True注释掉试试。
作者:
crossin先生
时间:
2016-7-28 12:07
bingo没有特殊含义,只是普通变量,可以叫其他名字
=是赋值,==是比较大小,这个你先弄清楚
while后面是循环条件
给bingo初始值是为了保证while后面的条件可以正常执行
answer和bingo无关。只不过在answer == num情况下,触发了bingo的改动。从而让循环结束
作者:
crossin先生
时间:
2016-7-28 12:08
建议先自己写一写最简单的if、while、赋值、比较大小等语句,体会一下结果。然后再来看较长的代码
作者:
python-learner
时间:
2016-7-28 21:17
谢谢@karlchen 谢谢@crossin先生
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5