Как написать программу приветствия на Python

Как написать программу приветствия на Python

Если вы только начинаете своё знакомство с программированием на Python, то одна из первых задач, с которой вы можете столкнуться, — это создание программы, которая запрашивает у пользователя его имя и возраст, а затем выводит приветственное сообщение. В этой статье мы подробно разберём, как это сделать, и предоставим пошаговые инструкции с примерами кода. Даже если вы только что открыли свой первый учебник по Python, этот гид поможет вам создать свою первую программу и понять основные концепции языка.

Основы работы с входными данными

В Python для получения данных от пользователя используется функция input(). Давайте рассмотрим, как это работает на простом примере.

name = input("Введите ваше имя: ")
age = input("Введите ваш возраст: ")
print(f"Привет, {name}! Тебе {age} лет.")

Пояснение кода

  • input("Введите ваше имя: "): эта строка выводит на экран сообщение «Введите ваше имя:», после чего программа ожидает ввода от пользователя. Введённое значение сохраняется в переменную name.
  • input("Введите ваш возраст: "): аналогично предыдущей строке, программа запрашивает возраст и сохраняет введённое значение в переменную age.
  • print(f"Привет, {name}! Тебе {age} лет."): функция print() выводит на экран строку с использованием f-строки (форматированной строки), которая подставляет значения переменных name и age в соответствующие места в строке.

Улучшение программы

Простая программа, которую мы только что написали, работает, но она может быть улучшена. Например, мы можем добавить проверку на корректность ввода возраста, чтобы избежать ошибок.

Добавление проверки возраста

Пользователи могут случайно ввести некорректные данные, например, буквы вместо цифр. Чтобы избежать этого, мы можем использовать функцию isdigit(), которая проверяет, состоит ли строка только из цифр.

name = input("Введите ваше имя: ")
age = input("Введите ваш возраст: ")

if age.isdigit():
    age = int(age)
    print(f"Привет, {name}! Тебе {age} лет.")
else:
    print("Пожалуйста, введите корректный возраст.")

Пояснение кода

  • age.isdigit(): проверяет, состоит ли строка age только из цифр.
  • int(age): преобразует строку age в целое число, если проверка прошла успешно.
  • Условный оператор if-else: выводит приветственное сообщение, если возраст введён корректно, и сообщение об ошибке в противном случае.

Расширение функционала программы

Мы можем расширить функционал нашей программы, добавив дополнительные проверки и улучшения.

Повторный запрос данных

Если пользователь ввёл некорректный возраст, программа может попросить его повторить ввод, вместо того чтобы завершать выполнение.

name = input("Введите ваше имя: ")

while True:
    age = input("Введите ваш возраст: ")
    if age.isdigit():
        age = int(age)
        break
    else:
        print("Пожалуйста, введите корректный возраст (число).")

print(f"Привет, {name}! Тебе {age} лет.")

Пояснение кода

  • Цикл while True: создаёт бесконечный цикл, который продолжается до тех пор, пока не будет выполнено условие выхода (break).
  • if age.isdigit():: проверяет корректность ввода возраста. Если возраст введён корректно, цикл прерывается с помощью break.
  • Сообщение об ошибке: если введён некорректный возраст, программа просит пользователя повторить ввод.

Работа с исключениями

Другой способ обработки ошибок ввода — использование конструкции try-except. Это позволяет более гибко обрабатывать возможные ошибки.

name = input("Введите ваше имя: ")

while True:
    age = input("Введите ваш возраст: ")
    try:
        age = int(age)
        break
    except ValueError:
        print("Пожалуйста, введите корректный возраст (число).")

print(f"Привет, {name}! Тебе {age} лет.")

Пояснение кода

  • try и except ValueError: конструкция try-except позволяет «поймать» ошибку, возникающую при попытке преобразования некорректного ввода в целое число. В случае ошибки программа выводит сообщение и повторяет запрос.

Финальная версия программы

Теперь, когда мы рассмотрели различные улучшения и расширения, давайте объединим их в одну финальную версию программы.

def get_user_input(prompt, validation_func):
    while True:
        user_input = input(prompt)
        if validation_func(user_input):
            return user_input
        else:
            print("Некорректный ввод. Попробуйте ещё раз.")

def is_valid_age(age):
    return age.isdigit()

name = get_user_input("Введите ваше имя: ", lambda x: len(x) > 0)
age = get_user_input("Введите ваш возраст: ", is_valid_age)

print(f"Привет, {name}! Тебе {age} лет.")

Пояснение кода

  • Функция get_user_input: универсальная функция для запроса ввода от пользователя. Принимает два аргумента: prompt — сообщение запроса, и validation_func — функция для проверки корректности ввода.
  • Функция is_valid_age: проверяет, является ли строка числом.
  • lambda x: len(x) > 0: лямбда-функция для проверки, что имя не пустое.

Мы разобрали, как написать простую программу на Python для приветствия пользователя. Мы начали с базовой версии и постепенно улучшили её, добавив проверки ввода и обработку ошибок. Надеемся, что этот пример поможет вам лучше понять основы программирования на Python и вдохновит на создание собственных проектов. Не бойтесь экспериментировать и расширять функционал вашей программы. Возможно, вы захотите добавить проверку на диапазон возраста, сделать программу более интерактивной или создать графический интерфейс. Главное — практиковаться и наслаждаться процессом обучения программированию!


Карпов Ярослав

Автор статьи:

Обновлено:

26.05.2024


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *