将代码转换为函数后未返回任何值

问题描述

我编写了这段代码,然后使用该代码创建了一个函数。我将打印内容更改为退货,但没有任何反应。

contints = ["Europe","north_America","South_America","Asia","Australia","Africa"]
Europe = "rich life"
north_America = "average life"
South_America = "poor life"
Asia = "average life"
Australia = "rich life"
Africa = "very poor life"
print(random.choice(contints))
if random.choice(contints) == "Europe":
    print("You will have a " + Europe)
elif random.choice(contints) == "north_America":
    print("You will have a " + north_America)
elif random.choice(contints) == "South_America":
    print("You will have a " + South_America)
elif random.choice(contints) == "Asia":
    print("You will have a " + Asia)
elif random.choice(contints) == "Australia":
    print("You will have a " + Australia)
else:
    print("You will have a " + Africa)

这是可行的,但是当我使用它创建一个函数并更改为return语句时,我想返回答案时什么也没有发生。我希望大陆是随机选择的,然后返回输出

import random
def continent(contints):
    contints = ["Europe","Africa"]
    Europe = "rich life"
    north_America = "average life"
    South_America = "poor life"
    Asia = "average life"
    Australia = "rich life"
    Africa = "very poor life"
    if random.choice(contints) == "Europe":
        return Europe
    elif random.choice(contints) == "north_America":
        return north_America
    elif random.choice(contints) == "South_America":
        return South_America
    elif random.choice(contints) == "Asia":
        return Asia
    elif random.choice(contints) == "Australia":
        return Australia
    else:
        return Africa

解决方法

您只需声明函数即可,这很好。然后,您需要使用类似

的行来调用它
response = continents()
print(response)

顺便说一句,我认为您的函数没有明确声明。您应该删除参数contints