我有一个问题,为什么这段代码。为什么字符串长度与我的输入不匹配?
input: a
output: 2
from sys import stdin
for line in stdin:
print(len(line))
最佳答案
像任何类似文件的迭代器一样,stdin
迭代时产生带有换行符/换行符的行。这解释了您在计数时会得到一个额外的字符。
您可以使用rstrip("\n")
使计数正确(删除右侧换行符):
from sys import stdin
for line in stdin:
print(len(line.rstrip("\n")))
(请注意,结果减去 1 也有效)
关于python - python 从 stdin 读取的行长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46974169/