python中while判断条件问题...求详细解释 不是很理解

name=''whilenotname:name=raw_input(u'请输入姓名:')printname... name=''
while not name:
name=raw_input(u'请输入姓名:')
print name
展开
 我来答
百度网友f94b897fc
2012-12-02 · TA获得超过189个赞
知道答主
回答量:88
采纳率:100%
帮助的人:116万
展开全部
首先name=‘ ’,后面是个空字符串,在学习布尔表达式的时候就说过,这些空的都是等于False的。
while not name:
可以看成是while循环语句加一个布尔表达式not name:可以理解为 如果name为空的话 not name是成立的也就是值为True
若是name=‘michael’ 那就是有名字,not name不成立这个布尔表达式的值就是False.
while 语句后面有的是直接跟变量名,有的是跟这种布尔表达式,但是不管是哪种他们的值都是要么为True要么为False
true就循环执行后面的子语句(有缩进的),False就pass后面的子语句
以后还会学习到while True这种循环语句,就是他的进化。
百度网友0dc414c4
2012-12-02 · TA获得超过160个赞
知道答主
回答量:146
采纳率:0%
帮助的人:75.4万
展开全部
看来你对python的格式不是很了解哦~~!(没有花括号{}而是用换行代替)
name=‘’说明定义了一个name为空字符有值但没内容系统会为这个变量分配空间(跟为null是有区别的 null不会分配空间);
while not name 相当于c下的while(!name ){}意思是如果name不为空(!name即name不为null)而这句话必然要执行,因为定义了name = ‘’,说明有值,只是这个值是没有内容,所以这句话一定会执行,执行下面一句话,你可以把这句话放到{}里看一眼就明白了,raw_input这个函数就是要接收你输入的值,而把输入的值赋给变量name ,从此之后name就是你输入的值了,而不是''了,而楼上说得有点小问题,因为他把not name看成null了;这样的话while not name 的语句就不会执行了哦,选我吧~~!!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdwisyou7d
2012-12-03 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1083万
展开全部
程序本身没有任何问题。如果有也是少了一个coding:cp936之类的。
推荐答案是对的。在python里None, '', 都是False。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
apricot125
2012-12-02 · TA获得超过750个赞
知道小有建树答主
回答量:355
采纳率:0%
帮助的人:268万
展开全部
如果没有输入就一直提示user输入姓名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式