Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Как сделать выбор в питоне: выбор между разными вариантами

  1. Как сделать выбор в питоне: выбор между разными вариантами

    Всем привет! Пишу тут какую-то программку на питоне и вот встал вопрос, как сделать выбор между разными вариантами. Я знаю про if-elif-else, но может есть еще какие-то более элегантные или удобные способы? Может, Lambda-функции какие-то или там всякие шорткаты. Короче, ребят, помогите разобраться! Было бы круто увидеть примеры кода. Спасибо заранее!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Самый простой способ сделать выбор в Питоне — это, конечно, конструкция if-elif-else. Но если тебе хочется чего-то более элегантного, можно использовать словари. Это чаще всего безопаснее и быстрее. Вот пример:

    Программный код:
    choices = {
    'a''Option A',
    'b''Option B',
    'c''Option C'
    }

    def choose(option):
    return 
    choices.get(option'Invalid option')

    print(
    choose('a'))  # Output: Option A
    print(choose('x'))  # Output: Invalid option 
    Еще один способ — это тернарный оператор. К примеру:

    Программный код:
    True
    'Option A' if else 'Option B'
    print(y)  # Output: Option A 
    Надеюсь, поможет!

  4. Цитата Сообщение от konok
    Привет! Самый простой способ сделать выбор в Питоне — это, конечно, конструкция if-elif-else. Но если тебе хочется чего-то более элегантного, можно использовать словари. Это чаще всего безопаснее и быстрее. Вот пример:

    Программный код:
    choices = {
    'a''Option A',
    'b''Option B',
    'c''Option C'
    }

    def choose(option):
    return 
    choices.get(option'Invalid option')

    print(
    choose('a'))  # Output: Option A
    print(choose('x'))  # Output: Invalid option 
    Еще один способ — это тернарный оператор. К примеру:

    Программный код:
    True
    'Option A' if else 'Option B'
    print(y)  # Output: Option A 
    Надеюсь, поможет!
    Словари — крутая идея, реально быстрее и легче читается. Ток не забудь про функционал get, чтобы не словить ошибку, если ключа нет.

  5. Возможно, тебе подойдет и использование лямбда функций. Но это надо привыкнуть. Вот пример:

    Программный код:
    funcs = {
    'a'lambda'Option A',
    'b'lambda'Option B',
    'c'lambda'Option C'
    }

    print(
    funcs['a']())  # Output: Option A
    print(funcs.get('x'lambda'Invalid option')())  # Output: Invalid option 

  6. Цитата Сообщение от Надя
    Возможно, тебе подойдет и использование лямбда функций. Но это надо привыкнуть. Вот пример:

    Программный код:
    funcs = {
    'a'lambda'Option A',
    'b'lambda'Option B',
    'c'lambda'Option C'
    }

    print(
    funcs['a']())  # Output: Option A
    print(funcs.get('x'lambda'Invalid option')())  # Output: Invalid option 
    Лямбды зачотные, но с ними иногда сложно читать код, если много всего напихано.

  7. Честно говоря, мне кажется, что старый добрый if-elif-else самый читабельный. К тому же, если логика сложная, то лучше его использовать. Пример:

    Программный код:
    def choose(option):
    if 
    option == 'a':
    return 
    'Option A'
    elif option == 'b':
    return 
    'Option B'
    elif option == 'c':
    return 
    'Option C'
    else:
    return 
    'Invalid option'

    print(choose('a'))  # Output: Option A
    print(choose('x'))  # Output: Invalid option 

  8. Цитата Сообщение от Константин Юрьевич
    Честно говоря, мне кажется, что старый добрый if-elif-else самый читабельный. К тому же, если логика сложная, то лучше его использовать. Пример:

    Программный код:
    def choose(option):
    if 
    option == 'a':
    return 
    'Option A'
    elif option == 'b':
    return 
    'Option B'
    elif option == 'c':
    return 
    'Option C'
    else:
    return 
    'Invalid option'

    print(choose('a'))  # Output: Option A
    print(choose('x'))  # Output: Invalid option 
    Согласен, if-elif-else иногда самый понятный, особенно когда логика сложнее.

  9. Tbh, можно еще использовать операторы switch в новых версиях питона (с версии 3.10). Сея быстрая и красивая фича:

    Программный код:
    def choose(option):
    match option:
    case 
    'a':
    return 
    'Option A'
    case 'b':
    return 
    'Option B'
    case 'c':
    return 
    'Option C'
    case _:
    return 
    'Invalid option'

    print(choose('a'))  # Output: Option A
    print(choose('x'))  # Output: Invalid option 

  10. Цитата Сообщение от Дарья Андреевна
    Tbh, можно еще использовать операторы switch в новых версиях питона (с версии 3.10). Сея быстрая и красивая фича:

    Программный код:
    def choose(option):
    match option:
    case 
    'a':
    return 
    'Option A'
    case 'b':
    return 
    'Option B'
    case 'c':
    return 
    'Option C'
    case _:
    return 
    'Invalid option'

    print(choose('a'))  # Output: Option A
    print(choose('x'))  # Output: Invalid option 
    Switch прям топчик, жаль тока что в старых версиях нет, а так гладко выходит.

Страница 1 из 2 12 ПоследняяПоследняя