lambda
を使用して暗号化/復号化する必要があり、問題があります。私の関数create_rot13()
は引数を受け取ってはいけません。私のラムダだけが引数を受け取ります。ラムダを使ってrot13で暗号化/復号化する?
これまでの私の現在のコードは、lambda
を使用していないため、私は見つけられませんでした。そのようなコード行を挿入する方法。
def create_rot13(message):
crypted = ""
letters = "abcdefghijklmnopqrstuvwxyz"
for car in message:
if car in letters:
num = letters.find(car)
num = num + 13
if num >= len(letters):
num = num - len(letters)
crypted = crypted + letters[num]
else:
crypted = crypted + car
crypted = crypted[:-1]
return crypted
print(create_rot13("jbeyq"))
print(create_rot13("world"))
誰もが私の問題の解決策を見つけるのに役立つヒントや何かを持っていますか?
それはこの1つの変更を除いて、ソートのようなだけの数になります。また、あなたがラムダでそれをしたい場合は、あなたがラムダでletters
変数をキャプチャする必要が
def create_rot13():
my_fonction = lambda x : x + 13
return my_fonction
coding = create_rot13()
print(coding(4))
:ここ
は、いくつかのサンプルの使用方法は? Pythonのlambdaは、他の関数の引数として関数を渡しているときにのみ有効です(そうでなければ、ネストした 'def'を使うことができます)。なぜ、ファクトリファクトリを書く必要があるのかも分かりません。工場から返された関数が毎回異なっていても、ROT13はROT13であれば意味があります。 – Blckknght
それは宿題のためのもので、私たちはそれをやっていかなければならないのですか、そうでなければ私は確かに別の方法でそれをやります。ちょっと、私は完全な解決策の代わりに解決策を見つけるためにヒントを求めます。私は他の暗号化方法にもこのコードを(いくつかの変更を加えて)使用しています – MaxyArthes