Как напечатать числа от 1 до 100? Python

Иногда люди задают такой вопрос:

А как мне вывести все числа от 1 до 100 через пробел с помощью цикла for и print?

Как его осуществить в реальность? Спасибо заранее


Ответы (3 шт):

Автор решения: ПИТОНИСТ версия-3-8

Есть много способов, я покажу только 3.

1. Самый простой перебор через for.

for i in range(1, 101):
    print(i, end=' ')

Его можно записать короче, просто совместив 2 строки:

for i in range(1, 101): print(i, end=' ')

Или записать так (спасибо @Zhihar ):

[print(i, end=' ') for i in range(1, 101)]

2. Перебор тоже через for. В этом случае мы печатаем список из элементов от 1 до 100.

print(' '.join(str(i) for i in range(1, 101)])

Ещё один вариант от @Zhihar :

print(' '.join(map(str, range(1, 101))))

3. Самый короткий способ с range.

print(*range(1, 101))
→ Ссылка
Автор решения: Zhihar

Решение в лоб без генераторов:

i = 1
while i < 102:
    print(i, end=' ')
    i += 1

Но стандартные примеры не очень интересны, попробуем жесть и экзотику.

Так:

[print(i[0], end=' ') for i in enumerate(' ' * 100, 1)]

или:

[print(i, end=' ') for i, j in enumerate(' ' * 100, 1)]

или:

print(*[i for i, j in enumerate(' ' * 100, 1)])
→ Ссылка
Автор решения: SergFSM

дополню "библиотеку":

вариация на тему цикла (для python 3.8 и старше):

c = 0
while (c:= c+1)<=100: print(c)

и бессмысленная и беспощадная рекурсия :)

f = lambda x=0: print(x) if x<=1 else f(x-1) or print(x)
f(100)
→ Ссылка