Python函数:多个参数

时间:2017-02-25 11:38:23

标签: 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的值错误。似乎第二个参数未正确分配。请帮忙。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您需要先处理特殊情况

def T(i):
  if i < 4:
    return 10
  else:
    return 20

for i in range(1, 5): print(i,T(i))

答案 1 :(得分:1)

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