函数未返回列表
当我在函数里创建一个新的列表时,我想在最后把这个新列表返回,这样就可以替换掉最开始调用的那些值。不过,当返回的那一行代码执行时,实际上什么都没有发生。
def fixNumbers(list):
newList = []
for i in list:
if i > 255:
newList.append(225)
elif i < 0:
newList.append(0)
else:
newList.append(i)
return newList
values1 = [-10, 100, 300]
fixNumbers(values1)
print(values1)
values2 = [127, 216, 280, 250, 50, 0, -3, 20]
fixNumbers(values2)
print(values2)
1 个回答
0
在最后几行,你可以这样做:
values1 = [-10, 100, 300]
fix_numbers_1 = fixNumbers(values1)
print(fix_numbers_1)
完整代码如下:
def fixNumbers(list):
newList = []
for i in list:
if i > 255:
newList.append(225)
elif i < 0:
newList.append(0)
else:
newList.append(i)
return newList
values1 = [-10, 100, 300]
fix_numbers_1 = fixNumbers(values1)
print(fix_numbers_1)
values2 = [127, 216, 280, 250, 50, 0, -3, 20]
fix_numbers_2 = fixNumbers(values2)
print(fix_numbers_2)
说明:
- 当你调用一个函数并且它返回了某个值时,我们需要把这个返回的值存起来,这样才能使用它。