Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2020, 19:24   #1
Exalted
Пользователь
 
Регистрация: 27.08.2018
Сообщений: 31
По умолчанию Абсолютно бесполезное изменение аргумента

Код:
x = int(input("Enter number: "))
a = []
for i in range(x):
    a.append([1]+[0]*x)

for i in range(x):
    for j in range(x):
        print(a[i][j], end=' ')
    print()
Код:
x = int(input("Enter number: "))
a = []
for i in range(x):
    a.append([1]+[0]*(x-1))

for i in range(x):
    for j in range(x):
        print(a[i][j], end=' ')
    print()
Вот две абсолютно одинаковые программы, разница только в 4 строчке. И результат работы обоих всегда одинаковый. Вот, например, при х = 5:

Код:
1 0 0 0 0 
1 0 0 0 0 
1 0 0 0 0 
1 0 0 0 0 
1 0 0 0 0
Вопрос. Почему так происходит? Почему это (х-1) не на что не влияет?
Exalted вне форума Ответить с цитированием
Старый 18.08.2020, 21:34   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Всё просто.
В первом варианте в списке x + 1 элемент, а выводи только x.

Во втором варианте в списке x элементов и мы их выводим.

Поиграй с выводом. В первом случае можно писать так:
Код:
x = int(input("Enter number: "))
a = []
for i in range(x):
    a.append([1]+[0]*x)

for i in range(x):
    for j in range(x + 1):  # +1 столбец, который не был виден
        print(a[i][j], end=' ')
    print()
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ifstream изменение аргумента.. Alex1991 Общие вопросы C/C++ 2 30.03.2011 13:12
16. Нарисовать точечный график функции . Диапазон изменения аргумента: от 15 до 5, шаг аргумента – 0,1. dzuga Паскаль, Turbo Pascal, PascalABC.NET 1 09.06.2010 06:12
16. Нарисовать точечный график функции . Диапазон изменения аргумента: от 15 до 5, шаг аргумента – 0,1. dzuga Помощь студентам 6 08.06.2010 17:19
Вылетают АБСОЛЮТНО ВСЕ программы... Aviator Безопасность, Шифрование 39 23.01.2010 22:53
Абсолютно непонятное задание. systemmind Microsoft Office Excel 8 19.02.2009 14:31