読者です 読者をやめる 読者になる 読者になる

調子に乗ったPythonistaが初心に返る簡単な方法

環境変数PYTHONSTARTUPで指定されているスクリプトに以下を追加するだけ。

import random

d = {}
for c in (65, 97):
    for i in range(26):
        d[chr(i+c)] = chr((i+13) % 26 + c)

decode = lambda s: ''.join([d.get(c, c) for c in s])

q, a = map(decode, random.choice([
    ('Jung vf orggre guna htyl?', 'ornhgvshy'),
    ('Jung vf orggre guna vzcyvpvg?', 'rkcyvpvg'),
    ('Jung vf orggre guna pbzcyrk?', 'fvzcyr'),
    ('Jung vf orggre guna pbzcyvpngrq?', 'pbzcyrk'),
    ('Jung vf orggre guna arfgrq?', 'syng'),
    ('Jung vf orggre guna qrafr?', 'fcnefr'),
    ('JUng fubhyq arire cnff fvyragyl?', 'reebef'),
    ('Ubj znal jnlf fbhyq or gurer?', 'bar'),
    ('Ubj znal jnlf fbhyq or cersrenoyl gurer?', 'bayl bar'),
    ('Jung vf orggre guna arire?', 'abj'),
    ('Jung xvaq bs vzcyrzragngvba vf n onq vqrn?', 'uneq gb rkcynva'),
    ('Jung xvaq bs vzcyrzragngvba vf n tbbq vqrn?', 'rnfl gb rkcynva'),
]))

print '>>> Q. ', q
print '... A. ',

if a != raw_input().lower():
    import this
    exit(0)
print '''
    Welcome to Python World!
'''

すると、python対話モードを起動するたびに、pythonistaなら必ず知っているであろういくつかの質問をされる。
答えられなかった場合は出直してきなさい。