Добрый, добрый Python
November 15, 2023

Stepik: Примеры работы оператора цикла for. Функция enumerate

Вычисление факториала от натурального числа n - (n! = 1*2*3*4*5*...*n)

n = int(input('Введите натуральное число не более 100: '))

if n < 1 or n > 100:
	print('Неверно введенно натуральное число')
else:
	p = 1
	for i in range(1, n+1):
		p *= i
	print(f'Факториал {n}! = {p}')
Ввод: 6
Вывод: Факториал 6! = 720

Отобразим елочку

for i in range(1, 7):
	print('*' * i)
# Вывод:
# *
#**
#***
#****
#*****
#******

Объединение списка в одну строку

words = ['Python', 'дай', 'мне', 'силы', 'пройти', 'этот', 'курс', 'до', 'конца']
s = '' # в этой переменной будем хранить результат

for w in words:
	s += ' ' + w
print(s.lstrip())
# Вывод: Python дай мне силы пройти этот курс до конца

Все двухзначные числа нужно заменить нулями

digs = [4, 3, 100, -53, -30, 1, 34, -8]

for i in range(len(digs)):
	if 10 <= abs(digs[i]) <= 99:
		digs[i] = 0
print(digs)
# Вывод: [4, 3, 100, 0, 0, 1, 0, -8]

Функция enumerate() - возвращает пару индекс, значение.

Решение примера выше, только с enumerate().

digs = [4, 3, 100, -53, -30, 1, 34, -8]

for i, d in enumerate(digs):
	if 10 <= abs(d) <= 99:
		digs[i] = 0
print(digs)
# Вывод: [4, 3, 100, 0, 0, 1, 0, -8]

Преобразование кириллицы в латиницу

t = ['a', 'b', 'v', 'g', 'd', 'e', 'zh',
	 'z', 'i', 'y', 'k', 'l', 'm', 'n',
	 'o', 'p', 'r', 's', 't', 'u', 'f',
	 'h', 'c', 'ch', 'sh', 'shch', '',
	 'y', '', 'e', 'yu', 'ya'
]
start_index = ord('а') # принимает значение кода для первой буквы русского алфавита
title = 'Python - дай мне силы пройти этот курс до конца'
slug = '' # хранит преобразование кириллицы в латиницу
for s in title.lower():
	if 'а' <= s <= 'я':
		slug += t[ord(s) - start_index]
	elif s == 'ё':
		slug += 'yo'
	elif s in ' !?;:.,':
		slug += '-'
	else:
		slug += s
		
while slug.count('--'):
	slug = slug.replace('--', '-')
print(slug)
# Вывод: python-day-mne-sily-proyti-etot-kurs-do-konca

ТЕКСТ ЛЕКЦИИ