【发布时间】:2021-01-02 11:15:19
【问题描述】:
这就是我的程序的结构:
输入的第一行有一个n,表示翻译词典中的单词数。接下来的 n 行中的每一行都包含四个单词,第二个到第四个单词是第一个单词的翻译。每个单词都被翻译成三种不同的语言。第二个词是英文翻译,第三个词是法语翻译,第四个词是第一个词的德语翻译。最后一行包含一个需要从英语、法语或德语中的一种语言翻译成第一个单词的句子。一个句子由几个用空格隔开的单词组成。
输入:
4
man I je ich
kheili very très sehr
alaghemand interested intéressé interessiert
barnamenevisi programming laprogrammation Programmierung
I am very interested in programming
正确的输出:
man am kheili alaghemand in barnamenevisi
我的代码:
tedad = int(input())
d = dict(input().split(' ') for i in range(tedad))
c = ''
car = input().split(' ')
for x in car:
if x in d:
c+= ' '+d[x]
else:
c+=' '+x
print(c.strip())
我的代码有问题并显示错误的输出。请帮我更正代码并根据示例输出显示。
【问题讨论】:
-
从一种语言翻译成另一种语言并不像写一本字典那样简单,将单词映射到另一种语言中的可能含义之一。所以,你解决问题的方法不会一直给出正确的结果。有时,它可能会起作用,但并非总是如此。作为参考,即使是谷歌翻译也不会显示 100% 正确的结果,并且与所讨论的语言有细微的偏差。除了跨语言的简单 1 对 1 单词映射所能处理的问题之外,要考虑的事情太多了。
-
你说你得到了另一个输出,但
dict(input().split(' ') for i in range(tedad))与你提供的输入不兼容(不是每行两个字),所以唯一可能的输出是错误 -
你的观点是完全错误的,如果你仔细阅读我的问题,你肯定会明白
-
如果可能,请在答案栏中写下我的错误,谢谢
标签: python dictionary