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 コンソールの出力が 2 行で表示されるのはなぜですか? 私は次のように出力することを期待していました:

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 に答える