我有一个程序,打算选择一个随机的媒体类型,然后是一个随机的流派,但出于某种原因,一旦程序进入流派功能,它就会进入一个无限循环。我不明白为什么它会给我一个递归错误,因为我没有添加任何循环功能。你知道吗
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
问题是由于
mediumType = genre(mediumType)
递归调用其他函数的函数。 注释掉这行以解决问题。你知道吗相关问题 更多 >
编程相关推荐