设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 11355|回复: 4
打印 上一主题 下一主题

【python入门 第8课】弄不清语句间的逻辑,求大神指点迷津

[复制链接]

1

主题

0

好友

87

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2016-7-27 22:57:34 |只看该作者 |倒序浏览
本帖最后由 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]
回复

使用道具 举报

1

主题

0

好友

39

积分

新手上路

Rank: 1

沙发
发表于 2016-7-28 09:40:12 |只看该作者
程序刚运行到while bingo == False这一句的时候,如果你的bingo是true的话,那么就不会执行while 循环里面的语句了,程序就结束了。刚开始的赋值语句bingo = False是为了保证第一次执行的时候必然会执行到while 循环里面去。
如果猜对了,bingo = True是为了while循环到下一次的时候,发现不符合循环条件,就退出循环。如果不设置bingo = True的话就算你猜对了也会一直循环下去,你可以把bingo = True注释掉试试。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2016-7-28 12:07:29 |只看该作者
bingo没有特殊含义,只是普通变量,可以叫其他名字
=是赋值,==是比较大小,这个你先弄清楚
while后面是循环条件
给bingo初始值是为了保证while后面的条件可以正常执行
answer和bingo无关。只不过在answer == num情况下,触发了bingo的改动。从而让循环结束
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2016-7-28 12:08:29 |只看该作者
建议先自己写一写最简单的if、while、赋值、比较大小等语句,体会一下结果。然后再来看较长的代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

87

积分

注册会员

Rank: 2

5#
发表于 2016-7-28 21:17:05 |只看该作者
谢谢@karlchen 谢谢@crossin先生
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 17:31 , Processed in 0.030323 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部