【发布时间】:2017-09-18 13:10:00
【问题描述】:
作为练习的一部分,我正在编写以下代码:
input_file = open('/home/me/01vshort.txt', 'r')
file_content = input_file.read()
input_file.close()
file_length_question = input("Count all characters (y/n)? ")
if file_length_question in ('y', 'Y', 'yes', 'Yes', 'YES'):
print("\n")
print(file_content, ("\n"), len(file_content) - file_content.count(" "))
它在输出中计算回车,因此对于以下文件(01vshort.txt),我得到以下终端输出:
Count all characters (y/n)? y
0
0 0
1 1 1
9
...或...
Count all characters (y/n)? y
0
00
111
9
在这两种情况下,答案都应该是 6,因为有 6 个字符,但结果是 9。
我已确保代码省略了空格,并通过故意添加空格并在有和没有行的情况下运行代码,用我的输入文件对此进行了测试:
- file_content.count(" ")
任何人都可以在这里帮助解释为什么结果是 9 而不是 6?
也许根本就不是回车?
我也很好奇为什么 9 的结果缩进了 1 个空格?输入文件只包含以下内容(文件末尾有一个空行,示例中显示了行号):
1. 0
2. 0 0
3. 1 1 1
4.
...或...
1. 0
2. 00
3. 111
4.
谢谢。
【问题讨论】: