Python函数:多个参数
问题描述:
我需要定义一个函数T(i),它具有从i = 1到1 = 3的相同值(比如说10),以及i = 4时的不同值(比如说20)。我写了下面的代码,Python函数:多个参数
def T(i):
for i in range(1, 4):
y= 10
return y
if i==4:
y= 20
return y
for i in range(1, 5): print(i,T(i))
从i = 1到1 = 3的值打印正确,但是i = 4的值是错误的。好像第二个参数没有正确分配。请帮忙。
在此先感谢。
答
你需要有特殊情况处理的第一
def T(i):
if i < 4:
return 10
else:
return 20
for i in range(1, 5): print(i,T(i))
+0
非常感谢Sarvex,解决了这个问题。 – Ashok
答
没有必要在功能for
循环,当你从一个循环调用T()
反正,和return
将退出功能,所以if
语句无法执行。
更简单的方法来做到这一点是:
def T(i):
return 20 if i==4 else 10
然而,定义一个函数是没有必要做到这一点,你可以实现在一个列表理解相同的条件:
[20 if i==4 else 10 for i in range(1,5)]
的'如果在'for'之后的块被无法访问。第一个'return'将控制权移交给调用者。你到底是什么? –
您的缩进(或缺失)不正确,可能是这个问题。 –
感谢您的回复ILI,但缩进在原始代码中是正确的。 – Ashok