如何在Python脚本中返回上一个问题

nkkqxpd9  于 2022-12-25  发布在  Python
关注(0)|答案(2)|浏览(95)

我是Python脚本的新手,我一直在使用Jupyter Notebook,终于意识到了两者之间的区别。在这段代码中,我尝试使用def创建一个简单的命令,我需要在其中输入数字1 - 3。

def Twitter():
    while True:
        user_input = input(
            'Pick one: 1) Crawling | 2) Verification | 3) Return ---->')

        if user_input == '1':
            print('You picked Crawling')
            break
        elif user_input == '2':
            print('You picked Verification')
            break
        elif user_input == '3':
            print('Return')
            Opening()
            break
        else:
            print('Type a number 1-3')
            continue

user_input = ''

def Opening():
    while True:
        user_input = input(
            'Pick one: 1) Twitter | 2) Instagram ---->')
    
        if user_input == '1':
            Twitter()
            break
        elif user_input == '2':
            print('Instagram!')
            break
        else:
            print('Type a number 1-2')
            continue

我还很不成熟,我需要帮助,当我选择了数字3,函数将返回到前一部分,而不是不输出结果在所有谢谢!

yx2lnoni

yx2lnoni1#

可以在函数内部返回函数,而不是使用break语句。
参见:https://www.geeksforgeeks.org/returning-a-function-from-a-function-python/

def Twitter():
    while True:
        user_input = input(
            'Pick one: 1) Crawling | 2) Verification | 3) Return ---->')

        if user_input == '1':
            print('You picked Crawling')
            break
        elif user_input == '2':
            print('You picked Verification')
            break
        elif user_input == '3':
            print('Return')
            return Opening()  # switch to Opening()
        else:
            print('Type a number 1-3')
            continue

def Opening():
    while True:
        user_input = input(
            'Pick one: 1) Twitter | 2) Instagram ---->')

        if user_input == '1':
            return Twitter()  # switch to Twitter()
        elif user_input == '2':
            print('Instagram!')
            break
        else:
            print('Type a number 1-2')
            continue

if __name__ == '__main__':
    Opening()
uxhixvfz

uxhixvfz2#

对我来说很好...也许你可以试着递归调用这个函数而不是使用while true?

def Twitter():
    user_input = input(
        'Pick one: 1) Crawling | 2) Verification | 3) Return ---->')

    if user_input == '1':
        print('You picked Crawling')
        Twitter()
    elif user_input == '2':
        print('You picked Verification')
        Twitter()
    elif user_input == '3':
        print('Return')
        Opening()
    else:
        print('Type a number 1-3')
        Twitter()

user_input = ''

def Opening():
    user_input = input(
        'Pick one: 1) Twitter | 2) Instagram ---->')

    if user_input == '1':
        Twitter()
    elif user_input == '2':
        print('Instagram!')
        Opening()
    else:
        print('Type a number 1-2')
        Opening()

Twitter()

相关问题