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) 
+0

对不起,我忘了提,我已经尝试过这一点,但得到一个错误说“builtins.IndexError:列表索引超出范围”。我认为这个错误可能来自我的'total_steps = total_steps + step_records [counter] [1]'。也许这行不允许输入空列表?任何其他想法? –

+0

为什么你不使用for循环,那个错误是因为你正在访问列表中的元素,当列表是空的时 –

+0

是的,使用for循环会更容易,但是这部分赋值是在循环中进行的,所以我被迫遗憾地排除for循环。 –