为什么符号没有按顺序附加?

问题描述 投票:0回答:1
string_to_translate: dict ={
"a":"@",
"b":"6",
"c":"¢",
"d":"p",
"e":"€",
"f":"√",
}

while True:
    sentence_to_translate: str = str(input("Wpisz zdanie: "))
    sentence_after_formatting: list = [char for char in sentence_to_translate]
    translated_sentence: list = []
    for y in string_to_translate.keys():
        for x in sentence_after_formatting:
            if y == x:
                translated_sentence.append(string_to_translate[y])
            
    print(translated_sentence)
    break
            

            

例如,当我输入 “fed” 时,我会得到

['p', '€', '√']
,而它应该是
['√', '€', 'p']

为什么会发生这种情况?感谢您的帮助

python symbols
1个回答
0
投票

为什么会出现这种情况?

因为您根据(名称令人困惑的)dict

translated_sentence
的键顺序将字母附加到
string_to_translate
,而您期望的顺序将来自根据输入字符串
sentence_to_translate
进行排序。

© www.soinside.com 2019 - 2024. All rights reserved.