1

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

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控制台上出现这个问题的原因,是吗?

4

2 回答 2

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 上的 Eclipse Galileo 的 PyDev 上测试了这段代码,它可以工作。

希望这可以帮助

于 2010-03-27T20:11:40.917 回答
0

这很奇怪。

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

Eclipse 在控制台输入上总是很奇怪。如果它以某种方式在字符串中保留 CR 或 LF(或两者),我不会感到惊讶,这样当你打印它们中的每一个时,你会得到一个换行符。但是你应该在单词之后再换行。

于 2010-03-27T18:26:49.690 回答