为什么eclipse + pydev print()输出看起来很奇怪有两个字符串?

时间:2010-03-27 18:18:20

标签: python python-3.x pydev eclipse-3.5

干什么,我只是做了以下事情:

a = input("give a word: ")
b = input("give another word: ")

c = a + " " + b

print("result is", c)

并获得如下输出:

give a word: name
give another word: word
result is name
word

我的问题是为什么在pydev或eclipse控制台上输出两行?我希望输出如下:

give a word: name
give another word: word
result is name word

我怎么以及为什么会这样?在cmd它看起来很好?? !!

我也发现python使用“\ r”保存字符串,我认为这是在pydev控制台上出现此问题的那个,是吗?

2 个答案:

答案 0 :(得分:1)

在我看来,Eclipse + PyDev也在字符串中存储换行符。根据操作系统的不同,换行符有一些变体:\ n,\ r,\ r \ n。

无论如何,我认为以下内容应该可以解决您的问题:

a = raw_input("give a word: ").strip()
b = raw_input("give another word: ").strip()
c = a + " " + b

我已经在Windows7上的PyDev for Eclipse Galileo上测试了这个代码,它可以运行。

希望这有帮助

答案 1 :(得分:0)

这很奇怪。

你是否得到一个额外的换行符? (您可以通过发出另一个打印命令来检查)。

Eclipse在控制台输入上总是很奇怪。如果不知何故它在字符串中保留CR或LF(或两者),我不会感到惊讶,所以当你打印它们时,你会得到一个换行符。但是接下来你应该得到另一个换行符。