我想知道如何输入字符串并从字典中获取多个键?例如,这是我的代码,我想打印像#34;欢迎来到黑社会"并用字典中的字母进行编码。
def main():
print("*********************************************************************************************")
print("What exactly is your use for this? Whatever, Enter a message because your hiding something...")
print("*********************************************************************************************")
userInput = input("Enter your message to encode: ")
userInput = userInput.lower()
# encoding dictionary
encoding = {"a":"b","b":"c","c":"d","d":"e","e":"f","f":"g","g":"h","h":"i","i":"j","j":"k","k":"l","l":"m","m":"n",
"n":"o","o":"p","p":"q","q":"r","r":"s","s":"t","t":"u","u":"v","v":"w","w":"x","x":"y",
"y":"z","z":"a"," ":"-"}
#userInput = encoding[key]
for key in encoding:
if (userInput == key):
print(encoding[key])
break
main()
答案 0 :(得分:1)
你不应该迭代encoding
,它是字典。相反,您可以只迭代输入字符串,将每个character
替换为encoding[character]
。
''.join([encoding[c] for c in somestring])
答案 1 :(得分:0)
print(''.join([encoding.get(letter, '') for letter in userInput]))
基本上,您希望遍历输入消息(userInput
)以对整个事物进行编码。加入的参数([encoding.get(letter, '') for letter in userInput]
)就是这样:对于输入中的每个字符,它都会找到匹配的编码。.get
也很方便,因为在字母不是的情况下找到(即,如果用户输入了一个数字),该字符是空字符串。
''.join(something)
获取something
中的所有元素并将其作为字符串放在一起。更一般地说,'a string'.join(something)
会在'a string'
的每个元素之间放置something
,因此如果'a string'
为空,则将空字符串置于其间,有效地将列表中的所有内容合并到一个字符串。