使用代码中的return返回python代码

时间:2017-02-06 12:03:16

标签: python

我希望优化我的代码以便在代码的一部分中很好地返回。

我知道我可以做到这一点,但我认为这可能很重要,但很多时候都会这样做。

我在评论中确定了我想要返回的位置

你能建议我解决问题的方法吗?

#return here 0
mainMenu()
choix = input()

if choix == 1:
    print "Enter your username"
    username = raw_input()
    print "Enter your password"
    password = raw_input()
    createAccount.createAccount(username,password)
    #return here 1
    educatorMenu()

    choix = input()

    if choix == 1: 
        print "Enter his age"
        ageChild = raw_input()
        print "Enter his photo"
        photoChild = raw_input()
        educator.createChildAccount(ageChild, photoChild)

    elif choix == 2:
        childrenList = educator.seeChildrenList()
        #Return to where it is written "return here 0"

    elif choix == 3:
        childrenList = educator.seeChildrenList()
        print "Associate children?"
        choixEnfant = input()
        educator.associateChildren(childrenList,choixEnfant-1, educator.getIdEducator(username))
        #Return to where it is written "return here 1"

非常感谢。

1 个答案:

答案 0 :(得分:0)

注意:我不会重新编写/优化您的代码,因为我觉得这应该是您的任务。此外,还有一些函数和参考文件缺少重写它;你没有提供 MWE

因此,您可能会发现这是一个有用的起点,并尝试调整此(非常基本结构)以满足您的需求。但是,会被警告:这也远非效率,但它可以帮助您扩展基础知识。

def menu_main():
    q = ['What would you like to do?', 
         '1: List educators',
         '2: Create educator',
         '3: Manage educator\'s children',
         '4: Exit'].join('\n  ')
    return int(input(q).strip()[0])

def menu_educator_create():
    usr = input('Enter username:').strip()
    pwd = input('Enter password:').strip()
    return (usr, pwd)

def menu_educator_manage():
    q = ['What would you like to do?', 
         '1: List children',
         '2: Add child',
         '3: Return'].join('\n  ')
    return int(input(q).strip()[0])

if __name__ == '__main__':
    edus = {}

    exit = False
    while not exit:
        print('===')
        cmd = menu_main()

        if cmd == 1:
            # List educators
            pass
        elif cmd == 2:
            # Create educator
            usr, pwd = menu_educator_create()
            pass
        elif cmd == 3:
            # Manage children
            # (should somehow obtain current educator first)
            exit_edu = False
            while not exit_edu:
                subcmd = menu_educator_manage()
                if subcmd == 1:
                    # List children
                    pass
                elif subcmd == 2:
                    # Add child
                    pass
                elif subcmd == 3:
                    # Return
                    exit_edu = True
                else:
                    # None of the above
                    print('Unknown choice from educator menu.')
        elif cmd == 4:
            # Exit
            exit = True
        else:
            # None of the above
            print('Unknown choice from main menu.')