Python 如何在没有尾随换行符的情况下打印?

Python 如何在没有尾随换行符的情况下打印?,python,Python,我正在尝试创建一个程序,接受输入,然后将其从澳大利亚土著语言转换为英语。当程序的其余部分正常工作时,输出以错误的格式打印。我收到的输出是: ngaju kuja-piya malilyi 我想要得到的是: ngaju kuja piya Maillyi 这是我的全部代码: dictionary = open('dictionary.txt') words = {} for line in dictionary: english, aboriginal = line.split(',')

我正在尝试创建一个程序,接受输入,然后将其从澳大利亚土著语言转换为英语。当程序的其余部分正常工作时,输出以错误的格式打印。我收到的输出是:

ngaju
kuja-piya
malilyi
我想要得到的是:
ngaju kuja piya Maillyi

这是我的全部代码:

dictionary = open('dictionary.txt')
words = {}
for line in dictionary:
  english, aboriginal = line.split(',')
  words[english] = aboriginal
translator = input("English: ")
while translator:
  sentence = translator.split()
  for word in sentence:
    print(words[word], end='')
  translator = input("English: ")
以下是dictionary.txt的内容:

afternoon,wuraji-wuraji
I,ngaju
bird,jirripirdi
like,kuja-piya
dance,juka-pinyi
python,malilyi
laugh,ngarlarrimi
we,ngalipa

我会说这是文件中的新行字符,您保留在
original
变量中,该变量将例如值
ngaju\n
,因此当您打印它时,
\n
生成新行,添加
rstrip()
操作以删除前导空格/新行字符

for line in dictionary:
    english, aboriginal = line.rstrip().split(',')
    words[english] = aboriginal

最安全的方法是,在两个word上都应用
.strip()
,以确保只获取所需内容,但如果文件格式正确(没有空间),则会有一点过度使用

我添加了strip()以删除每个单词的尾随空格,如下所示:

dictionary=open('dictionary.txt')
单词={}
对于字典中的行:
english,original=line.split(','))
单词[英语]=土著语.strip()
翻译=输入(“英语:”)
翻译时:
句子=translator.split()
打印(“”.join(单词[单词]对应句子中的单词))
翻译=输入(“英语:”)
输入

我喜欢python

输出


ngaju kuja piya malilyi

当您使用字典中的
行对文件进行迭代时:
有一个换行字符结尾。你可能想用
english,original=line.strip().split(',')
来摆脱它。我想知道你更喜欢一个不解释问题的答案,而不是解释问题的答案吗?
for line in dictionary:
    english, aboriginal = line.split(',')
    words[english.strip()] = aboriginal.strip()