2015-6-10
其中一段代码为
shifts = [(i, random.randint(0, 25)) for i in range(len(s)) if s[i-1] == ' ']
random.randint(0,25) 是0~25取一个整数
X FOR IF 可以用作一行
2015-6-11
def buildCoder(shift):
"""
Returns a dict that can apply a Caesar cipher to a letter.
The cipher is defined by the shift value. Ignores non-letter characters
like punctuation, numbers and spaces.
shift: 0 <= int < 26
returns: dict
"""
### TODO.
b = string.ascii_lowercase
a = string.ascii_uppercase
x = {}
y = {}
for z in range(len(a) - shift):
x[a[z]] = a[z + shift]
for z in range(len(a) - shift, len(a)):
x[a[z]] = a[z + shift - len(a)]
for z in range(len(b) - shift):
y[b[z]] = b[z + shift]
for z in range(len(b) - shift, len(b)):
y[b[z]] = b[z + shift - len(b)]
return dict(x, **y)
应该有更简单的写法,今天下这样吧。 /(ㄒoㄒ)/~~