Как напечатать числа от 1 до 100? Python
Иногда люди задают такой вопрос:
А как мне вывести все числа от 1 до 100 через пробел с помощью цикла
forи
Как его осуществить в реальность? Спасибо заранее
Ответы (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)