已采纳回答 / 逗逗船长
这一段最先被执行的部分是 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
已采纳回答 / 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
已采纳回答 / 小王荟
因为求平均值会有小数,所以sum如果带有浮点数,它的整体运算结果就会用小数来表示第二个语句的意思是x会被2整除。x%2的意思是x除以2的余数,==为判等(比较两边的东西是否一样),整个的意思就是:如果x会被2除,得到的余数为0,那么就执行下面的代码
2016-02-15
已采纳回答 / junxizhu
翻译:string[a:b] 表示将字符串string从下标为a开始到下标为b(不包括b)为止的一段字符取出string[a:b:c]表示在字符串string从下标为a开始到下标为b(不包括b)为止的一段字符中,从a开始,每c个字符中取出一个字符,组成新的字符string[-a:-b:c]表示在字符串string的倒数第a个字符到倒数第b个字符(不包括b)为止的一段字符串中,每c个字符中取出一个字符,组成新的字符
2016-02-12