python中,c = 5 > 6是有意义的,5 > 6是False,然后False赋值给c
c = 5 > 6
print(c)
结果是False。也就是说该表达式是从右往左计算的,这个里面涉及到操作符的优先级。笔者觉得为了避免歧义,也为了避免记忆操作符的优先级,多使用括号,即c = (5 > 6)。
字符串也可以基于字母表的顺序进行比较。
典型的编程错误:使用==去比较浮点数!
from math import pi, sin
print( pi ) # prints 3.14159265359
print( sin(pi) ) # prints 1.22464679915e-16
print( sin(pi) == 0 ) # prints False. Uh-oh!
可以看出,由于浮点数的精度是有限的(一般来说只有64个bit用于存储一个浮点数),sin(pi)的值并不等于0。
generate-and-test approach:生成可能的解,然后一一测试。这其中就涉及到循环语句了。
阅读循环语句时,让循环体执行0次,1次,3次,然后找到其中的模式。作者提到一个小的编程ditty(姑且认为是编程技巧吧):Zero, one, three—that’s good enough for me.