我有一个问题,为什么这个代码。为什么字符串长度与我的输入不匹配?
input: a
output: 2
from sys import stdin
for line in stdin:
print(len(line))
答案 0 :(得分:2)
stdin
在迭代时产生带换行符/换行符的行。这说明你在计算时会得到额外的字符。
您可以使用rstrip("\n")
使计数正确(删除右手换行符):
from sys import stdin
for line in stdin:
print(len(line.rstrip("\n")))
(请注意,对结果减1也有效)
答案 1 :(得分:1)
我猜它还包含你的换行符'\ n'
试试这段代码:
from sys import stdin
for line in stdin:
for x in line:
print(x)