技巧
异或
异或运算有以下三个性质
- 任何数和 0 做异或运算,结果仍然是原来的数,即 a⊕0=a
- 任何数和其自身做异或运算,结果是 0,即 a⊕a=0
- 异或运算满足交换律和结合律,即 a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b
字母表
在Python中遍历26个字母有多种方法:
方法1:使用 string 模块
# 小写字母
for letter in string.ascii_lowercase:
print(letter)
# 大写字母
for letter in string.ascii_uppercase:
print(letter)
# 所有字母(大小写)
for letter in string.ascii_letters:
print(letter)
方法2:使用 ASCII 码和 chr() 函数
# 小写字母 a-z (ASCII: 97-122)
for i in range(97, 123):
print(chr(i))
# 或者更直观的写法
for i in range(ord('a'), ord('z') + 1):
print(chr(i))
# 大写字母 A-Z (ASCII: 65-90)
for i in range(ord('A'), ord('Z') + 1):
print(chr(i))
方法3:直接定义字符串
# 小写
for letter in 'abcdefghijklmnopqrstuvwxyz':
print(letter)
# 大写
for letter in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
print(letter)
如果需要索引:
for index, letter in enumerate(string.ascii_lowercase):
print(f"{index}: {letter}") # 0: a, 1: b, ...
推荐使用方法1(string.ascii_lowercase),因为代码最简洁、可读性最好。