私はこのコードがなぜ問題ですか。文字列の長さが入力と一致しないのはなぜですか? stdin
は、改行/改行時に反復して行を生成する、任意のファイルのようなイテレータのような行の長さPythonは標準入力から読み込みます
from sys import stdin
for line in stdin:
for x in line:
print(x)
私はこのコードがなぜ問題ですか。文字列の長さが入力と一致しないのはなぜですか? stdin
は、改行/改行時に反復して行を生成する、任意のファイルのようなイテレータのような行の長さPythonは標準入力から読み込みます
from sys import stdin
for line in stdin:
for x in line:
print(x)
:私は推測
input: a
output: 2
from sys import stdin
for line in stdin:
print(len(line))
は、それはまたあなたの改行文字「\ n」が
は、このコードを試してみてくださいが含まれています。あなたが数えるときに余分なチャーを得ることを説明します。
あなたはカウント右側(右手の改行を削除)するためにrstrip("\n")
を使用することができます。それは回線終端文字が含まれているため
from sys import stdin
for line in stdin:
print(len(line.rstrip("\n")))
(結果に1をsubstractingも動作することに注意してください)
を。 'len(line.rstrip())'を試してください。あなたは普通のファイルで同じ動作をするでしょう –
はい、また試してみてください: 'print(repr(line))'をすべて表示するには... –
@ Jean-FrançoisFabre:答えは、コメントではありません。 –