我正在做一个 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
提交
取消