Почему вывод eclipse + pydev print () выглядит странно с двумя строками? - PullRequest
1 голос
/ 27 марта 2010

все, я просто сделал следующее:

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 ]

1 голос
/ 27 марта 2010

Мне кажется, что Eclipse + PyDev также хранит символ новой строки в строке. Существует несколько вариантов символа новой строки в зависимости от операционной системы: \ n, \ r, \ r \ n.

В любом случае, я думаю, что следующее должно решить вашу проблему:

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

Я протестировал этот код на PyDev для Eclipse Galileo на Windows7, и он работает.

Надеюсь, это поможет

0 голосов
/ 27 марта 2010

Это очень странно.

Получаете ли вы дополнительный перевод строки после слова? (вы можете проверить, введя другую команду печати).

Затмение всегда странно при вводе с консоли. Я не удивлюсь, если он каким-то образом сохранит CR или LF (или оба) в строке, чтобы при печати каждого из них вы получали разрыв строки. Но тогда вы должны получить еще один перевод строки после слова.

...