Python空元组列表
问题描述:
我的任务需要我编写一个函数,它使用while循环遍历元组的输入列表,然后计算达到特定里程碑需要多少天。我已经完成了一部分,但是如果输入列表为空,我还需要使我的函数返回None
。问题是我只允许在我的代码中有一个返回语句,这是我卡住的地方。我如何编辑我的代码以添加此功能?Python空元组列表
def days_to_reach_n_steps(step_records, n):
"""DOCSTRING"""
total_steps = 0
counter = 0
while total_steps < n:
total_steps = total_steps + step_records[counter][1]
counter = counter + 1
return(counter) here
答
试试这个
def days_to_reach_n_steps(step_records, n):
"""DOCSTRING"""
total_steps = 0
counter = 0
if len(step_records)>0:
while total_steps < n:
if(counter <len(step_records):
total_steps = total_steps + step_records[counter][1]
counter = counter + 1
else:
counter = "Your Message"
return(counter if counter!=0 else None)
对不起,我忘了提,我已经尝试过这一点,但得到一个错误说“builtins.IndexError:列表索引超出范围”。我认为这个错误可能来自我的'total_steps = total_steps + step_records [counter] [1]'。也许这行不允许输入空列表?任何其他想法? –
为什么你不使用for循环,那个错误是因为你正在访问列表中的元素,当列表是空的时 –
是的,使用for循环会更容易,但是这部分赋值是在循环中进行的,所以我被迫遗憾地排除for循环。 –