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(translated_sentence[y])
            
    print(translated_sentence)
    break

例如,当我输入"fed"时,我得到的是['p', '€', '√'],而它应该是['√', '€', 'p'].

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

推荐答案

主要问题是你首先判断dict's keys,如果你的关键词是句子,然后它就会添加到你的列表中.因此,基本上,您的代码正在逐个查找char list中的键. 为了解决这个问题,你的循环应该从你的char开始,然后判断它是否在dict中.

所以,你的代码应该是这样的:

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 char in sentence_after_formatting:
        if char in string_to_translate.keys():    
            translated_sentence.append(string_to_translate[char]) 
                 
    print(translated_sentence)
    break
            

Python相关问答推荐

Python Hashicorp Vault库hvac创建新的秘密版本,但从先前版本中删除了密钥

如何使用Python将工作表从一个Excel工作簿复制粘贴到另一个工作簿?

在Python Attrs包中,如何在field_Transformer函数中添加字段?

如何在类和classy-fastapi -fastapi- followup中使用FastAPI创建路由

log 1 p numpy的意外行为

如何调整QscrollArea以正确显示内部正在变化的Qgridlayout?

部分视图的DataFrame

Python Pandas获取层次路径直到顶层管理

在两极中过滤

当条件满足时停止ODE集成?

如何删除重复的文字翻拍?

Django Table—如果项目是唯一的,则单行

如何使用matplotlib查看并列直方图

提取最内层嵌套链接

利用SCIPY沿第一轴对数组进行内插

pytest、xdist和共享生成的文件依赖项

有没有一种方法可以在朗肯代理中集成向量嵌入

极点:在固定点扩展窗口

按列表分组到新列中

关于数字S种子序列内部工作原理的困惑