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

Тема: Как использовать python if else if one line

  1. Как использовать python if else if one line

    Пытаюсь разобраться, как использовать конструкции if elif else в Python в одну строку. Хочу, чтобы код выглядел лаконично и читаемо. Видел где-то, что это можно сделать с помощью одной строки, но не понимаю, как это реализовать с elif. Поделитесь примерами и объясните, как это работает. Будет круто, если дадите примеры для разных ситуаций, типа проверки чисел или строк. Вообще тема if else в одну строку в Python оч интересная, поэтому надеюсь на расширенную дискуссию. Спасибо!



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

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

  3. Да, можно использовать тернарные операторы. Например:

    Программный код:

    result 
    'Positive' if else 'Negative' if else 'Zero' 
    Это работает таким образом: сначала проверяется условие x > 0, если оно истина, возвращается 'Positive'. Если ложь, проверяется x < 0, и в зависимости от результата возвращается 'Negative' или 'Zero'.

    Вот больше примеров:

    Программный код:

    greeting 
    'Hi' if usr == 'friend' else 'Welcome' if usr == 'guest' else 'Who are you?' 

  4. Цитата Сообщение от Шарлотта
    Да, можно использовать тернарные операторы. Например:

    Программный код:

    result 
    'Positive' if else 'Negative' if else 'Zero' 
    Это работает таким образом: сначала проверяется условие x > 0, если оно истина, возвращается 'Positive'. Если ложь, проверяется x < 0, и в зависимости от результата возвращается 'Negative' или 'Zero'.

    Вот больше примеров:

    Программный код:

    greeting 
    'Hi' if usr == 'friend' else 'Welcome' if usr == 'guest' else 'Who are you?' 
    Ох, тернарники в Python - это нечто! Спасибо за код, теперь буду юзать.

  5. Чувак, можно даже писать цепочки тернарных операторов. Тут главное - следить за правильной расстановкой условий. Как-то так:

    Программный код:

    mood 
    'happy' if day == 'sunny' else 'meh' if day == 'cloudy' else 'sad' 
    Это реально помогает сокращать код!

  6. Цитата Сообщение от CrimsonFox
    Чувак, можно даже писать цепочки тернарных операторов. Тут главное - следить за правильной расстановкой условий. Как-то так:

    Программный код:

    mood 
    'happy' if day == 'sunny' else 'meh' if day == 'cloudy' else 'sad' 
    Это реально помогает сокращать код!
    Ага, главное не переборщить, а то можно запутаться в этих тернарных цепях.

  7. Тернарный оператор - это удобная штука, но иногда лучше писать в несколько строк для ясности. Это работает, правда читай код внимательно. У меня вот пример:

    Программный код:

    status 
    'Adult' if age >= 18 else 'Minor' if age 12 else 'Kid' 

  8. Цитата Сообщение от romtrops
    Тернарный оператор - это удобная штука, но иногда лучше писать в несколько строк для ясности. Это работает, правда читай код внимательно. У меня вот пример:

    Программный код:

    status 
    'Adult' if age >= 18 else 'Minor' if age 12 else 'Kid' 
    Понял, но иногда хочется все-таки по-короткому приземлить.

  9. Для больших условий лучше использовать функции, тернарник хорош на короткие условия. Если запутался, подумай, как улучшить читаемость.

    Программный код:

    def get_status
    (age):

        return 
    'Adult' if age >= 18 else 'Teenager' if age 12 else 'Child'


    status get_status(15)

    print(
    status
    Вместо нагромождения операторов внутри одной строки, лучше функции.

  10. Цитата Сообщение от Firestar
    Для больших условий лучше использовать функции, тернарник хорош на короткие условия. Если запутался, подумай, как улучшить читаемость.

    Программный код:

    def get_status
    (age):

        return 
    'Adult' if age >= 18 else 'Teenager' if age 12 else 'Child'


    status get_status(15)

    print(
    status
    Вместо нагромождения операторов внутри одной строки, лучше функции.
    Блин, точно! Функциями реально круче, чем колбасить все в одну строку.

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