""" Урок 17. Практикум 4 — весь код примеров одним файлом. Источник: subjects/python-fundamentals/course/lessons/17-practice-4/examples.html Файл собран автоматически (tools/build_lesson_examples.py): правьте страницу урока. Запуск: python lesson-17.py """ # ==================================================================== # Пример 1. Перевёрнутая лестница # ==================================================================== height = 5 # в интерактивной версии: int(input("Введите высоту лестницы: ")) for i in range(height, 0, -1): print("*" * i) # ==================================================================== # Пример 2. Проверка текста на ASCII # ==================================================================== text = "Python" all_ascii = True for char in text: if ord(char) > 127: all_ascii = False break print("Все символы ASCII:", all_ascii) # True text = "Привет" all_ascii = True for char in text: if ord(char) > 127: all_ascii = False break print("Все символы ASCII:", all_ascii) # False — кириллица выходит за код 127 # ==================================================================== # Пример 3. Вывод строки с интервалами # ==================================================================== text = "Python" for i in range(len(text)): if i == len(text) - 1: print(text[i], end="") else: print(text[i], end=" ") print() # P y t h o n # ==================================================================== # Пример 3. Вывод строки с интервалами # ==================================================================== text = "Python" print(*text, sep=" ") # P y t h o n # ==================================================================== # Пример 4. Проверка скобок # ==================================================================== text = "(a+b)*(c-d)" balance = 0 for char in text: if char == "(": balance += 1 elif char == ")": balance -= 1 if balance < 0: break print("Скобки расставлены правильно?", balance == 0) # True text = "(a+b)(*((c-d)" balance = 0 for char in text: if char == "(": balance += 1 elif char == ")": balance -= 1 if balance < 0: break print("Скобки расставлены правильно?", balance == 0) # False # ==================================================================== # Пример 5. Символ с минимальным кодом # ==================================================================== text = "Hello!" min_char = text[0] for char in text: if ord(char) < ord(min_char): min_char = char print("Минимальный символ:", min_char) # ! # ==================================================================== # Пример 6. Чётные и нечётные цифры числа # ==================================================================== number = "238947203429" even_digits = "" odd_digits = "" for digit in number: if int(digit) % 2 == 0: even_digits += digit else: odd_digits += digit print("Число из чётных цифр:", even_digits if even_digits else "0") print("Число из нечётных цифр:", odd_digits if odd_digits else "0") # Число из чётных цифр: 2842042 # Число из нечётных цифр: 39739 number = "482262" even_digits = "" odd_digits = "" for digit in number: if int(digit) % 2 == 0: even_digits += digit else: odd_digits += digit print("Число из чётных цифр:", even_digits if even_digits else "0") print("Число из нечётных цифр:", odd_digits if odd_digits else "0") # Число из чётных цифр: 482262 # Число из нечётных цифр: 0 — нечётных цифр не нашлось совсем # ==================================================================== # Пример 7. Строка из диапазона Unicode # ==================================================================== start_code = 65 end_code = 70 symbols = "" for code in range(start_code, end_code + 1): symbols += chr(code) print("Символы:", symbols) # ABCDEF # ==================================================================== # Пример 8. Длина каждого слова в строке # ==================================================================== text = "Программирование это весело" word = "" for char in text: if char != " ": word += char else: if word: print(f"Слово: {word}, Длина: {len(word)}") word = "" if word: print(f"Слово: {word}, Длина: {len(word)}") # Слово: Программирование, Длина: 16 # Слово: это, Длина: 3 # Слово: весело, Длина: 6 # ==================================================================== # Пример 9. Проверка палиндрома с фильтрацией # ==================================================================== text = "А роза упала на лапу Азора" filtered_text = "" for char in text: if ("A" <= char <= "Z") or ("a" <= char <= "z") or \ ("А" <= char <= "Я") or ("а" <= char <= "я"): if "A" <= char <= "Z": char = chr(ord(char) + 32) elif "А" <= char <= "Я": char = chr(ord(char) + 32) filtered_text += char is_palindrome = filtered_text == filtered_text[::-1] print("Палиндром?", is_palindrome) # True # ==================================================================== # Пример 10. Проверка на панграмму через set # ==================================================================== text = "The quick brown fox jumps over the lazy dog" seen_letters = set() for char in text.lower(): if "a" <= char <= "z": seen_letters.add(char) print("Содержит все буквы алфавита?", len(seen_letters) == 26) # True text = "The quick brown fox jumps" seen_letters = set() for char in text.lower(): if "a" <= char <= "z": seen_letters.add(char) print("Содержит все буквы алфавита?", len(seen_letters) == 26) # False # ==================================================================== # Пример 11. Счётчик букв, цифр и остальных символов # ==================================================================== text = "Python 3.12!" letters = 0 digits = 0 others = 0 for char in text: if ("a" <= char <= "z") or ("A" <= char <= "Z"): letters += 1 elif "0" <= char <= "9": digits += 1 else: others += 1 print("Букв:", letters) # 6 print("Цифр:", digits) # 3 print("Остальных символов:", others) # 3 — пробел и обе точки