Python Lab
СтрокиУрок 7 из 7

Строки и циклы

20 мин25 XP

Работа со строками в циклах

Подсчёт символов

python
text = "Hello, World!" freq = {} for char in text: freq[char] = freq.get(char, 0) + 1 print(freq)

Построение строки

python
# Каждый символ отдельно: result = "" for char in "Python": result += char.upper() + "-" print(result) # P-Y-T-H-O-N-

Шифр Цезаря (простой)

python
def shift_char(c, n): if c.isalpha(): base = ord('A') if c.isupper() else ord('a') return chr((ord(c) - base + n) % 26 + base) return c text = "Hello" shifted = "".join(shift_char(c, 3) for c in text) print(shifted) # Khoor

Фильтрация символов

python
text = "H3ll0 W0rld" letters_only = "".join(c for c in text if c.isalpha()) print(letters_only) # HllWrld

📌 Запомни

  • "".join(iterable) — эффективнее, чем result += char в большом цикле
  • ord(c) — код символа, chr(n) — символ по коду
  • Используйте generator expression для компактной фильтрации

Квест

ROT13 шифр

15 мин45 XP

Реализуйте шифр ROT13: каждая латинская буква сдвигается на 13 позиций в алфавите. a→n, b→o, n→a, A→N и т.д. Нелатинские символы не изменяются.

Дана строка text = "Hello". Выведите зашифрованную строку: Uryyb

Результаты появятся здесь после выполнения кода.