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()