我正在尝试创建一个程序,该程序接受输入,然后将其从澳大利亚原住民语言转换为英语。虽然程序的其余部分可以正常工作,但输出以错误的格式打印。我收到的输出是:
ngaju
kuja-piya
malilyi
我想要收到的是:
ngaju kuja-piya malilyi
这是我的完整代码:
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
最佳答案
我想说这是文件中的换行符,您将其保存在 aboriginal
变量中,例如值 ngaju\n
所以当您打印它时,\n
换行,添加 rstrip()
操作来删除前导空格/换行符
for line in dictionary:
english, aboriginal = line.rstrip().split(',')
words[english] = aboriginal
最安全的方法是在两个单词上应用.strip()
,以确保只获取需要的内容,但如果文件格式良好(没有空格),则有点过分了
for line in dictionary:
english, aboriginal = line.split(',')
words[english.strip()] = aboriginal.strip()
关于python - 如何打印而不带尾随换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61025876/