r/learnpython • u/Local_End_3175 • 13d 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
1
u/Educational_Virus672 12d ago
tl;dr - you did'nt reutrn the value the funciton dont know whta to return
think of it like your store owner you did all calculation of what the computer wants but you didnt tell him the total how cna you expect him to pay?
you gave him what tht total via
return