如何在Python中设置函数对变量的返回?

如何在Python中设置函数对变量的返回?,python,function,variables,printing,Python,Function,Variables,Printing,这是我在另一个问题中发布的代码的另一部分,这个问题一直给我带来麻烦 我需要将函数的结果设置为一个变量 假设我有一个函数,它可以将x片比萨饼在y个人之间分割 def pizzaFunction(x,y): return x/y 很简单。但是现在我要把它打印到一份声明中 print("The number of slices per person is",slice_number) 所以我的问题是,既然 slice_number = pizzaFunction(x,y) 不起作用,还有

这是我在另一个问题中发布的代码的另一部分,这个问题一直给我带来麻烦

我需要将函数的结果设置为一个变量

假设我有一个函数,它可以将x片比萨饼在y个人之间分割

def pizzaFunction(x,y):
    return x/y
很简单。但是现在我要把它打印到一份声明中

print("The number of slices per person is",slice_number)
所以我的问题是,既然

slice_number = pizzaFunction(x,y)
不起作用,还有其他方法吗?重要的是要将其保存到某个变量中,以便以后在打印状态中使用

非常感谢您的帮助

当我尝试上述方法时,我得到的确切错误是

NameError: "name 'slice_number' is not defined"

你现在的表现似乎很好

例如:

def Pizza(x,y):
    return x/y

z = Pizza(12,3)

print("%i slices per person" % z)
产生:

4 slices per person

我假设“不工作”可能指整数除法“错误”:Python可能把x看作整数,除以y,并将结果作为整数返回(也就是说,所有十进制数字都被切断)

在函数中使用
返回浮点(x)/y


如果这不是问题所在,我强烈假设代码中存在打字错误或缩进错误。或者你在第一次使用后定义你的函数。

为什么
slice\u number=pizza函数(x,y)
不起作用?@IsmailBadawi我的问题正是。你在做
print(“每人的切片数是”,slice\u number=pizza函数(x,y))
吗?给我们看看不起作用的代码。我的猜测是范围错误;您在函数中指定了
slice\u number
,期望该赋值会影响全局
slice\u number
变量,而不是创建局部变量。可能是因为我有多个函数,它们会在if/then序列中返回相同的变量。因此,根据哪个if语句为true,所使用的函数会发生变化。@user2977230:“将返回相同变量的多个函数”-函数返回对象,而不是变量。函数使用什么名称来引用它返回的东西并不重要;调用函数的代码无法判断返回值过去是否被调用
result
foo
烤核桃
。我建议你仔细阅读范围规则。