以下 Python 代码打印了什么?
What's printed by the following Pyhon code?
animals = ['horse', 'Pig', 'dog', 'Owl', 'lion', 'Hare', 'baboon', 'Fish', 'tiger', 'Zebra', 'Cow', 'Mouse', 'quail', 'Elephant']
for animal in animals:
if (animal >= 'M') and (animal <= 'Z'):
print(animal)
问题 1:
如何理解(animal >= 'M') and (animal <= 'Z')
?
问题 2:
正确答案是Pig
Owl
Mouse
,为什么在这种情况下没有打印Zebra
?
正如 zvone 指出的那样,字符串是按字母顺序比较的,因此不打印 Zebra。
这种情况下的字母顺序是。
X
是
Z
杂
斑马
- 按字母顺序排列在 "M" 和 "Z" 之间的动物。
- "Zebra" 在 "Z" 中排序时出现在 python 之后。
从 a 到 z 的顺序类似于字母字符:
["a","aa","aaa" ... "ab","aba","abaa" ... "b"... "z", "za", "zaa" ...
"zebra" ... "zzzzz" ...]
根据它们的 ascii 字符串表示,等价的是 a < b < c ... < y < z 并且 z 总是在 z* 之前(asterix 表示任何)
animals = ['horse', 'Pig', 'dog', 'Owl', 'lion', 'Hare', 'baboon', 'Fish', 'tiger', 'Zebra', 'Cow', 'Mouse', 'quail', 'Elephant']
for animal in animals:
if (animal >= 'M') and (animal <= 'Z'):
print(animal)
问题 1:
如何理解(animal >= 'M') and (animal <= 'Z')
?
问题 2:
正确答案是Pig
Owl
Mouse
,为什么在这种情况下没有打印Zebra
?
正如 zvone 指出的那样,字符串是按字母顺序比较的,因此不打印 Zebra。
这种情况下的字母顺序是。
X 是 Z 杂 斑马
- 按字母顺序排列在 "M" 和 "Z" 之间的动物。
- "Zebra" 在 "Z" 中排序时出现在 python 之后。
从 a 到 z 的顺序类似于字母字符:
["a","aa","aaa" ... "ab","aba","abaa" ... "b"... "z", "za", "zaa" ... "zebra" ... "zzzzz" ...]
根据它们的 ascii 字符串表示,等价的是 a < b < c ... < y < z 并且 z 总是在 z* 之前(asterix 表示任何)