Это упражнение из главы 20 книги Зеда Шоу.Линейная печать в Python
Я пытаюсь понять поведение номера строки.
Когда я использую следующий код, номер строки из текстового файла печатается как 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] (http://stackoverflow.com/help/mcve). Многие новички (программирование и использование переполнения стека) оставляют одно или несколько из них. Пожалуйста, не прекращайте задавать вопросы таким образом. – skrrgwasme
Большое вам спасибо :) - Я буду помнить эти моменты, задавая вопросы, идущие вперёд. – Sarat