如果我写:Python函数号不会影响它运行多少次?
def f(n):
blah
f(x)
这时只要“X”是一个数字,F将运行一次。例如我刚刚尝试过:
def f(n):
c = 1
print c
f(x)
'x'为0,然后为10,输出为'1'两次。数字'x'实际上代表什么,以及如何让函数运行'x'次数?
我已经用解决方法解决了我的问题(我之前会发布此问题,但显然我仅限于每90分钟发布一次),但我仍然想知道未来。
我的程序看起来与此类似:
def f(n):
m = 0
c = blah
if condition(c):
m = 1
d = line involving c that had to be run before the end of the function loop, but after the if statement
f(m)
f(1)
但产量不断循环,因为即使m = 0时,F(0)还是造成了功能循环。我的解决方法是:
m = 0
def f(n):
global m
m = 0
c = blah
if condition(c):
m = 1
else:
m = 0
d = line involving c that had to be run before the end of the function loop, but after the if statement
if m = 1:
f(1)
f(1)
后就正常了(实际上,回头看的话,我不认为“d”确实需要if语句后运行,所以我可以,如果条件刚刚做了(c):f(1)),但似乎是多余的。我不知道为什么我必须为f(n)指定一个数字,但是如果我将它留空或输入一个字符串,它将无法运行。有没有一个“笨拙”的解决办法呢?
(我真的很新的节目,所以请解释相当简单而言..!)
谢谢!
哦,好的,所以如果我把范围(n)放在我的范围内:... if:n + = 1或者什么的 - 那可行吗?虽然我猜想,因为它只在函数的开始处读取'in range in(n)',所以if命令不会改变任何内容,并且该函数仍然只会运行一次。 – Patrik333 2014-12-05 03:13:39
此外,我仍然不确定为什么函数首先需要一个参数,因为您可以只写“for i in range(x)”,而不是......?我想这样写起来更容易,就像你调用函数时那样? – Patrik333 2014-12-05 03:20:12
@Patrik,你不需要_change_'i','for-range'循环为你做。而且,就参数而言,这只是良好的编码习惯。你可能想从其他地方调用函数,使用'y'或'42'。我将修改示例以显示这两个功能。 – paxdiablo 2014-12-05 03:20:16