Итак, я изучаю python как новичок и использую как думать, как компьютерный ученый для python 3. Я нахожусь в главе об итерации, делая кодирование из своего собственного мозга вместо копировать/вставлять, поэтому я помню это легче.Различия в синтаксисе размножения Python
При выполнении последней части таблицы таблицы умножения я получил тот же результат, что и показанный урок, но кажется, что мой чище (меньше аргументов). Я по-прежнему пытаюсь найти программы отслеживания, поэтому мне сложно скрыть свои разногласия. Я надеялся, что кто-то может сообщить мне, если мой код менее эффективен или больше подвержен ошибкам, чем версия текста, и поможет положить конец этой головной боли;).
def print_multiples(n, high): #This is the e-book version
for i in range(1, high+1):
print(n * i, end=' ')
print()
def print_mult_table(high):
for i in range(1, high+1):
print_multiples(i, i+1) #They changed high+1 to i+1 to halve output
Похоже, что их результат будет иметь слишком много + 1, так как я + 1 стал бы «высокий» в print_multiples, а затем в конечном итоге +1 снова добавив в цикле print_multiples. (Я также заметил, что они держали конец = «„вместо конца =“\ т», которая сбросила выравнивание.
def print_multiples(n): #n is the number of columns that will be made
'''Prints a line of multiples of factor 'n'.'''
for x in range(1, n+1): #prints n 2n 3n ... until x = n+1
print(n * x, end='\t') #(since x starts counting at 0,
print() #n*n will be the final entry)
def print_mult_table(n): #n is the final factor
'''Makes a table from a factor 'n' via print_multiples().
'''
for i in range(1, n+1): #call function to print rows with i
print_multiples(i) #as the multiplier.
Это мое. Элементарные замечания были для моей пользы, пытаясь сохранить трассировку прямо в моя голова. Мои функции имеют для меня гораздо больше смысла, но может быть какая-то разница. Я действительно не понимаю, почему книга решила сделать два аргумента для print_multiples(), поскольку 1 мне кажется достаточно ... Я также изменил большинство переменных, поскольку они использовали «i» и «высокий» несколько раз, чтобы продемонстрировать локальные и глобальные. Я повторно использовал n, хотя, поскольку в обоих случаях это было бы одинаковое окончательное число.
Возможно, более эффективные способы делать подобные вещи, но я все еще на итерации. Просто надеемся попытаться понять, что работает, а что нет, и это меня подслушивает.
Здесь я не получаю такой же результат; каждая из ваших линий на один элемент короче. –
Попытка их, я получаю одну дополнительную колонку. На странице урока показан вывод, который я получаю с моим кодом, но с его кодом конечная запись для print_mult_table (7) в таблице «56», когда она должна быть «49». Я не уверен, что я ошибаюсь и ошибаюсь в коде. – Hesuchia