Голосование If / Else / Elif - PullRequest
       2

Голосование If / Else / Elif

0 голосов
/ 29 сентября 2018

Новое в Python (и в StackOverflow).Попытка выяснить, как заставить это выполнить правильно.Хотя сама программа работает нормально, я бы хотел, чтобы в ней не было лишнего шага.Под этим я подразумеваю, что в случае неудачи первого оператора я хотел бы завершить и распечатать сообщение, связанное с оператором else.

def main():

    # init
    messageOne = 'You are too young to vote.'
    messageTwo = 'You can vote.'
    messageThree = 'You need to register before you can vote.'

    # input
    age = int(input('Please enter your age: '))
    registration = input('Are you registered to vote(Y/N)?: ')

    # calculate / display
    if age >= 18:
        if registration.upper() == "Y":
            print(messageTwo)
        else:
            print(messageThree)
    else:
        print(messageOne)

main()

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Если вы внутри функции, вы можете пропустить оставшиеся операторы с помощью return.

def main():

    # init
    messageOne = 'You are too young to vote.'
    messageTwo = 'You can vote.'
    messageThree = 'You need to register before you can vote.'

    # input
    age = int(input('Please enter your age: '))


    # calculate / display
    if age < 18:
         print(messageOne)
         return    
    registration = input('Are you registered to vote(Y/N)?: ')
    if registration.upper() == "Y":
         print(messageTwo)
         return
    print(messageThree)
    return

main()
0 голосов
/ 29 сентября 2018

Программа написана хорошо.Единственное, что я хотел бы изменить, это поставить registration = input('Are you registered to vote(Y/N)?: ') после проверки, если age >= 18 (таким образом, пользователя не спросят, зарегистрированы ли они, если ему меньше 18 лет).Я бы ничего не изменил.

def main():

    # init
    messageOne = 'You are too young to vote.'
    messageTwo = 'You can vote.'
    messageThree = 'You need to register before you can vote.'

    # input
    age = int(input('Please enter your age: '))

    # calculate / display
    if age >= 18:
        registration = input('Are you registered to vote(Y/N)?: ')
        if registration.upper() == "Y":
            print(messageTwo)
        else:
            print(messageThree)
    else:
        print(messageOne)

main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...