首页 > 解决方案 > 投票 If/Else/Elif

问题描述

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()

标签: pythonif-statement

解决方案


程序写得很好。我唯一会改变的想法是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()

推荐阅读