Python函数:多个参数

Python函数:多个参数,python,function,arguments,Python,Function,Arguments,我需要定义一个函数T(I),它在I=1到1=3之间具有相同的值(比如10),在I=4处具有不同的值(比如20)。我写了下面的代码 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处的值错误。似乎第二个参数分配不正确。请帮忙 提前谢谢。您需要先处理特殊情况 d

我需要定义一个函数T(I),它在I=1到1=3之间具有相同的值(比如10),在I=4处具有不同的值(比如20)。我写了下面的代码

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))
def T(i):
如果i<4:
返回10
其他:
返回20
对于范围(1,5)中的i:打印(i,T(i))

函数中不需要
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)]

无法访问的
之后的
if
块。第一个
返回
将控制权移交给调用者。你到底在干什么?你的缩进(或拉科夫)不正确,也许这就是问题所在。感谢回复ILI,但缩进在原始代码中是正确的。感谢回复Moses,但我如何修复它?