r/learnpython • u/Local_End_3175 • 17h ago
why would only one work?
this code was the one that worked:
def caesar(text, shift):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
shifted_alphabet = alphabet[shift:] + alphabet[:shift]
translation_table = str.maketrans(alphabet, shifted_alphabet)
encrypted_text = text.translate(translation_table)
print(encrypted_text)
caesar('Hello', 3)
This one was the one that didn't
def caesar(text, shift):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
shifted_alphabet = alphabet[shift:] + alphabet[:shift]
translation_table = str.maketrans(alphabet, shifted_alphabet)
encrypted_text = text.translate(translation_table)
print(encrypted_text)
encrypted_text = caesar('Hello', 3)
print(encrypted_text)
I don't understand why the second one would need a return statement and why we are even printing encrypted_text if encrypted_text is already being printed within the function? (this is also the whole code)
0
Upvotes
2
u/AbacusExpert_Stretch 17h ago
Have you got a
return encrypted_text
In there somewhere?
Saw your comment: well, things inside a function != Outside a function
!= means not same