我试图用python编写代码,以加密用户输入。因此,例如,如果我写“ name”,输出应为“ obnf”。但是问题在于,现在的输出仅为“ o”,因此只有第一个字母通过循环,其余的被忽略了。有什么建议?这是我的代码
userInput = input("write something: ")
letters = iter(["A","B","C","D", "E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","X","Y","Z","0","1","2","3","4","5","6","7","8","9","a","b","c", "d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"])
def Encoding(user_input):
encrypted_msg = ""
for i in range(len(user_input)):
char = user_input[i]
if char in letters:
encrypted_msg += next(letters)
return encrypted_msg
print(Encoding(userInput))
一个插入器只能被遍历一次,然后耗尽。使用一个list
代替。
考虑使用str.maketrans()和str.translate()进行快速替换。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句