in
次の演算子を使用します。
encrypt = 'd' if raw_input("Encrypt or decrypt a file (E/d):") in ('d', 'D') else 'e'
または、入力を小文字に変換して「d」と比較することもできます。
encrypt = 'd' if raw_input("Encrypt or decrypt a file (E/d):").lower() == 'd' else 'e'
最後に、ユーザーが確実に e または d を入力するようにしたい場合は、while ループでラップできます。
while True:
encrypt = raw_input("Encrypt or decrypt a file (E/d):")
# Convert to lowercase
encrypt = encrypt.lower()
# If it's e or d then break out of the loop
if encrypt in ('e', 'd'):
break
# Otherwise, it'll loop back and ask them to input again
編集:2番目の質問に答えるには、ラムダを使用できますか?
file_text = (lambda default, inp: default if inp.lower() == default else inp)("a.txt", raw_input("File name(a.txt):"))
とはいえ、これは明らかに少し鈍感で、半分「賢すぎる」です。