已采纳回答 / 逗逗船长
这一段最先被执行的部分是 L and isinstance(x,str) 然后再对这个表达式的值迭代(虽然这个式子返回布尔值并不能迭代,不过这不是重点)重点是x得有值才能被引用,然而在迭代了之后x才被赋值,并且执行到isinstance(x,str)时迭代还没开始所以你的写法有问题
2016-02-18
已采纳回答 / anjoecai
'123456789' 这样用,是字符串,要转换下类型print [100 * int(x) + 10 * int(y) + int(z) for x in '123456789' for y in '0123456789' for z in '123456789' if z == x]
2016-02-17
最新回答 / JohnMactavish
谢谢~我的意思是,for按照什么标准区分key 和value呢,是不是应该认为,由于list中某些元素中含有key 和value,for语句首先判断了一下符合执行标准,所以才执行,这样理解对吗?
2016-02-17
已采纳回答 / qq_梦星墓痕_0
s = set(['Adam', 'Lisa', 'Bart', 'Paul'])#print 'adam'.capitalize() in s#print 'bart'.capitalize() in sfor x in s: if 'adam'.lower()==x.lower(): print 'True' else: continue没有更简洁的,这样可以忽略大小写,凑乎用吧
2016-02-17
已采纳回答 / GeorgeHao
循环到n=21的时候,先执行sum=sum+x;然后x=x*2,再执行break循环这样实际上sum算的是前21项之和。所以:将if判断放到while行下面就可以了。
2016-02-16
最赞回答 / 再见你
你的意思,应该是以下代码:L = ['Adam', 'Lisa', 'Paul', 'Bart']L.pop(3)L.pop(2)print L这样做肯定是没有问题的,数组越界问题就不存在了。
2016-02-16
已采纳回答 / 小王荟
因为求平均值会有小数,所以sum如果带有浮点数,它的整体运算结果就会用小数来表示第二个语句的意思是x会被2整除。x%2的意思是x除以2的余数,==为判等(比较两边的东西是否一样),整个的意思就是:如果x会被2除,得到的余数为0,那么就执行下面的代码
2016-02-15