代码给了我一个无限的递归

2024-06-02 05:36:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序,打算选择一个随机的媒体类型,然后是一个随机的流派,但出于某种原因,一旦程序进入流派功能,它就会进入一个无限循环。我不明白为什么它会给我一个递归错误,因为我没有添加任何循环功能。你知道吗

def genre(mediumType):

    mediumType = genre(mediumType)

    if mediumType == 'Game':
        genreType = random.choice(['Fantasy','Sci-Fi','Action','Horror','Indie','Puzzle','RPG','JRPG','Strategy','Shooter','Open World'])
        return genreType
    elif mediumType == 'Book':
        genreType = random.choice(['Fiction','Non-Fiction','Thriller','Mystery','Poetry','Sci-Fi','Fantasy'])
        return genreType
    elif mediumType == 'Anime':
        genreType = random.choice(['Feel Good','Thriller','Isekai','Shounen','Seinen','Sci-Fi','Comedy',])
        return genreType
    elif mediumType == 'TV':
        genreType = random.choice(['Horror','Drama','Comedy','Sci-Fi'])
        return genreType
    elif mediumType == 'Movie':
        genreType = random.choice(['Sci-Fi','Fantasy','Comedy','Superhero','Horror'])
        return genreType


def medium():

    medium = random.choice(['game','book','anime','tv','movie'])

    # Games
    if medium == 'game':
        genreType = genre('Game')
        result = "Play a(n) " + genreType + " game\n"
        return result

    # Books
    elif medium == 'book':
        genreType = genre('Book')
        result = "Read a " + genreType + " book\n"
        return result

    # Anime
    elif medium == 'anime':
        genreType = genre('Anime')
        result = "Watch a(n) " + genreType + " anime\n"
        return result

    # TV Shows
    elif medium == 'tv':
        genreType = genre('TV')
        result = "Watch a " + genreType + " TV Show\n"
        return result

    # Movies
    elif medium == 'movie':
        genreType = genre('Movie')
        result = "Watch a " + genreType + " movie\n"
        return result

Tags: returnrandomresulttvfantasyfimediumsci