如何在Python中设置函数对变量的返回?
这是我在另一个问题中发布的代码的另一部分,这个问题一直给我带来麻烦 我需要将函数的结果设置为一个变量 假设我有一个函数,它可以将x片比萨饼在y个人之间分割如何在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) 不起作用,还有
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
或烤核桃
。我建议你仔细阅读范围规则。