Простые программы на языке Python для практики
Примеры простых программ для изучения основ Python
Как вывести текст на экран в Python?
Самый простой способ использовать функцию print(). Пример:
print("Привет, мир!")простые программы на языке python (простые программы на python)
Программа выведет строку "Привет, мир!" в консоль. Цель: убедиться в работе среды, освоить вывод данных.
Варианты вывода:
- Несколько аргументов:
print("Число", 10) - Форматированный вывод:
name = "Иван"; print(f"Привет, {name}!") - Многострочный вывод:
print("""Строка1\nСтрока2""")
Типичные ошибки:
- Забытые кавычки:
print(Привет, мир!)- SyntaxError. - Смешивание кавычек внутри строки (используйте экранирование или другой тип).
- Отсутствие скобок (синтаксис Python 2).
Как сделать простой калькулятор на Python?
Для работы с числами применяются input() и int(). Пример сложения:
a = int(input("Введите первое число: "))
b = int(input("Введите второе число: "))
print("Сумма:", a + b)
Цель: научиться получать данные от пользователя и выполнять арифметику.
Варианты реализации:
- Поддержка всех операций через if-elif-else или словарь функций.
- Использование
eval()для вычисления выражения (небезопасно). - Обработка деления на ноль с try-except.
Типичные ошибки:
ValueErrorпри вводе не числа. Можно применить try-except.- Деление на ноль вызывает исключение.
- Забыть преобразовать строку в число.
Как организовать игру "Угадай число" в Python?
Программа генерирует случайное число, пользователь угадывает. Используются модуль random, цикл while, условные операторы.
import random
target = random.randint(1, 100)
guess = None
while guess != target:
guess = int(input("Угадай число (1-100): "))
if guess < target:
print("Больше")
elif guess > target:
print("Меньше")
print("Поздравляю! Вы угадали.")
Цель: освоить циклы, случайные числа, ветвления.
Вариации:
- Ограничение попыток (счетчик и break).
- Подсказки "тепло/холодно".
- Возможность играть снова (вложенный цикл).
Возможные проблемы:
- Бесконечный цикл, если не обновлять guess.
- ValueError при вводе текста.
- Сравнение чисел с учетом типа.
Как сгенерировать случайный пароль на Python?
Модули random и string для выбора символов.
import random
import string
length = 8
chars = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(chars) for _ in range(length))
print(password)
Цель: работа со строками, генераторами, стандартной библиотекой.
Варианты:
- Пользователь задает длину.
- Исключение похожих символов (0, O, l, 1).
- Гарантированное включение разных категорий символов.
Типичные ошибки:
- Повтор символов (решается sample для уникальности).
- Небезопасный random (для паролей используйте secrets).
Как записать и прочитать данные из файла в Python?
Функция open() с режимами 'w' и 'r'. Пример:
with open('test.txt', 'w') as f:
f.write('Привет, файл!')
with open('test.txt', 'r') as f:
content = f.read()
print(content)
Контекстный менеджер with автоматически закрывает файл. Цель: освоить файловый ввод/вывод.
Альтернативы:
- Запись списка строк через writelines.
- Чтение построчно через for line in f.
- Режимы 'a' (добавление) и 'x' (создание).
Типичные ошибки:
- FileNotFoundError при чтении несуществующего файла.
- Перезапись файла без предупреждения в режиме 'w'.
- Проблемы с кодировкой - указывайте encoding='utf-8'.
1. Калькулятор с защитой от ошибок и меню
def calculator():
print("Калькулятор. Операции: +, -, *, /, **")
while True:
expr = input("Введите выражение (q для выхода): ")
if expr.lower() == 'q':
break
try:
result = eval(expr)
print(f"Результат: {result}")
except ZeroDivisionError:
print("Ошибка: деление на ноль.")
except Exception as e:
print(f"Ошибка: {e}")
if __name__ == "__main__":
calculator()
Калькулятор. Операции: +, -, *, /, ** Введите выражение (q для выхода): 2+3 Результат: 5 Введите выражение (q для выхода): 10/0 Ошибка: деление на ноль. Введите выражение (q для выхода): q
Программа принимает любое выражение, защищена от деления на ноль и других исключений.
2. Игра "Угадай число" с попытками и повторной игрой
import random
def play_game():
target = random.randint(1, 100)
attempts = 0
print("Я загадал число от 1 до 100.")
while True:
try:
guess = int(input("Твой вариант: "))
attempts += 1
if guess < target:
print("Больше")
elif guess > target:
print("Меньше")
else:
print(f"Угадал за {attempts} попыток.")
break
except ValueError:
print("Введи целое число.")
while True:
play_game()
again = input("Сыграем еще? (да/нет): ").lower()
if again != 'да':
break
Я загадал число от 1 до 100. Твой вариант: 50 Меньше Твой вариант: 25 Больше Твой вариант: 37 Угадал за 3 попыток. Сыграем еще? (да/нет): нет
Добавлен счетчик попыток и цикл для повторных игр.
3. Криптостойкий генератор паролей с настройками
import secrets
import string
def generate_password(length=12, digits=True, punctuation=True):
alphabet = string.ascii_letters
if digits:
alphabet += string.digits
if punctuation:
alphabet += string.punctuation
return ''.join(secrets.choice(alphabet) for _ in range(length))
print(generate_password())
print(generate_password(8, punctuation=False))
3!kL#9sPz@1qWx& aBcDeFgH
Используется модуль secrets для надежной генерации. Пользователь может задать длину и исключить знаки препинания.