慕桂英4014372
2022-12-14 20:30:19
我正在做一個 codecademy 任務,想知道以下哪組代碼被認為是最佳實踐:任務是創建一個函數,給定一個字符串 username ,將所有字母向右移動一位。例如,用戶名:AbeSimp 將變為 pAbeSim,這將成為密碼并存儲在字符串密碼中。這是我的代碼:def password_generator(username): password = "" password = username[-1] + username[:-1] return password解決方案代碼是:def password_generator(username): password = "" for i in range(0, len(user_name)): password += user_name[i-1] return password任何解釋表示贊賞 - 謝謝!
3 回答
慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
IMO 的最佳實踐版本是:
def password_generator(username: str) -> str:
"""Generate a terrible password by rotating the username."""
return username[-1] + username[:-1]
擺脫死代碼。不要進行要覆蓋的分配。不要在切片會做的地方使用循環。而且,如果一個變量不會在多個地方使用(例如在return語句中),那么即使給它命名 IMO 也沒有意義。
弒天下
TA貢獻1818條經驗 獲得超8個贊
我明白你在問什么,我想我只有你需要的代碼。
from random import shuffle
def password_generator(username):
username = list(username)
shuffle(username)
return ''.join(username)
print(password_generator('THIS-IS-USERNAME'))
我得到的輸出是:
SNE--SSHIATIRMEU
Process finished with exit code 0
它THIS-IS-USERNAME改為SNE--SSHIATIRMEU
希望這對你有幫助
添加回答
舉報
0/150
提交
取消
