【发布时间】:2016-07-26 21:30:34
【问题描述】:
这个练习来自 Zed Shaw 的书的第 20 章。
我正在尝试了解行号的行为。
当我使用以下代码时,文本文件中的行号打印为 4,这是错误的。它在第 3 行。
current_line += current_line
但是,当我使用以下内容时,行号显示正确
current_line = current_line + 1
有人能解释一下上面两行有什么区别吗,在我看来是一样的,为什么会有所不同。
以下是完整代码:
from sys import argv
script, input_file = argv
def print_all(f):
print f.read()
def rewind(f):
f.seek(0)
def print_a_line(line_count, f):
print line_count, f.readline()
current_file = open(input_file)
print "First let's print the whole file:\n"
print_all(current_file)
print "Now let's rewind, kind of like a tape."
rewind(current_file)
print "Let's print three lines:"
current_line = 1
print_a_line(current_line, current_file)
current_line += current_line
print_a_line(current_line, current_file)
#current_line = current_line + 1
current_line += current_line
print_a_line(current_line, current_file)
【问题讨论】:
-
您知道,我已经投票赞成并收藏了这个问题,因为它是格式良好的初学者问题的一个很好的例子。您已经描述了问题(带有预期和实际结果),清楚地说明了您的问题,并包含了MCVE。许多初学者(编程和使用 Stack Overflow)忽略了其中的一个或多个。请不要停止以这种方式提问。
-
非常感谢 :) - 我会牢记这些要点,继续提出问题。
标签: python line-numbers