python中的多进程为两个不同的函数

问题描述 投票:0回答:1

我正在尝试做一个简单的音乐播放器。我想在听音乐时向用户提问。

在下一行中,如果用户不想再听音乐,我会添加一个音乐列表并让他选择,并且,在将来,我想要一些命令跳过下一个音乐和一些关于那。

P1 = str(input('wanna again? (Y/N)'))
    def DEF1():
        if P1 == ('Y'):
            P2 = str(input('do you know what is it? (Y/N)'))
            if P2 == ('Y'):
                P3 = str(input('what is it?'))
                print(P3)
            if P2 == ('N'):
                print('this is a game sound!')
        if P1 == ('N'):
            print('that is it')

    def DEF2():
        while:
            playsound.playsound('', True) #a music link

    if __name__ == '__main_':
        Process(target=DEF1).start()
        Process(target=DEF2).start()

问题是:我想同时启动两个进程(DEF1和DEF2),它是'while'和'if'函数,DEF1是我想为程序用户做的一些问题,以及DEF2如果是'while,那就是重复的音乐

python if-statement while-loop multiprocessing python-multiprocessing
1个回答
1
投票

如果我理解正确并且您希望第二种方法根据P3的值播放另一种声音或歌曲,则需要根据用户选择从DEF1返回一个值。

所以除了'print(P3)'之外,你想要包括'return P3'。

然后从DEF2中调用DEF1,将返回值分配给变量,例如:

song = DEF1()

变量'song'然后保留问题答案的值:'它是什么?'

这样做是允许DEF2用所有问题和答案调用DEF1。

DEF2然后使用DEF1的返回来确定要播放的歌曲。所以不是while语句,你可能想要一个if语句(你的while语句无论如何都不会工作,因为它没有循环条件)。

现在当您依次调用DEF2,DEF2时,将为您调用DEF1。

© www.soinside.com 2019 - 2024. All rights reserved.