Python 返回编号列表的基本while循环

Python 返回编号列表的基本while循环,python,list,function,while-loop,Python,List,Function,While Loop,我对编程非常陌生,在我的一次课程测验中,我被困在这个基本问题上:编写一个函数numbered\u list(items),打印列表items中项目的编号(从1开始)列表,如下面的测试用例所示。我们不允许使用“for”语句,它必须有while语句!我尝试过使用enumerate,但我认为我的课程要求更长的格式 我最接近的是下面的代码,但是仍然无法得到我想要的答案 def numbered_list(items): """Prints a numbered list o

我对编程非常陌生,在我的一次课程测验中,我被困在这个基本问题上:编写一个函数
numbered\u list(items)
,打印列表
items
中项目的编号(从1开始)列表,如下面的测试用例所示。我们不允许使用“for”语句,它必须有
while
语句!我尝试过使用enumerate,但我认为我的课程要求更长的格式

我最接近的是下面的代码,但是仍然无法得到我想要的答案

def numbered_list(items):
"""Prints a numbered list of items starting from 1"""
i = 0 
while i <len(items):
    print(items[i])
    i += 1
print (items)
它应导致:

1 Watch lecture videos
2 Complete quiz
3 Practise

任何帮助或回答都将不胜感激

这是您的代码更改,以完全满足您的要求:

def numbered_list(items):
    """Prints a numbered list of items starting from 1"""
    i = 0 
    while i <len(items):
        print(i+1,items[i])
        i += 1
    print (items)

todos = ["Watch lecture videos", "Complete quiz", "Practise"]
numbered_list(todos)
此代码输出:

1 Watch lecture videos
2 Complete quiz
3 Practise
enumerate()
返回一对索引和值

todos=[“观看讲座视频”、“完成测验”、“练习”]
def编号清单(项目):
对于idx,枚举中的项(项,开始=1):
打印(idx,项目)
编号清单(待办事项)

代码必须缩进到函数定义之后 在
while
循环之后,它必须如下所示:

def numbered_list(items):
    """Prints a numbered list of items starting from 1"""
    i = 0 

    while i <len(items):
        print(items[i])
        
        
        i += 1
        
todos = ["Watch lecture videos", "Complete quiz", "Practise"]
numbered_list(todos)  
def编号清单(项目):
“”“打印从1开始的项目编号列表”“”
i=0

而我只在
items
中的
i
位置打印项目。打印索引和项目!你已经有了
i
中的索引和
items[i]
中的项目。你没有自己跟踪
i
而是考虑用它来为你计数吗?@charlesduff不允许使用该功能@crcvd嘿,我试过打印(items[I]),但它说列表超出了范围fwiw,在这里使用while循环不是惯用的Python。相反,您需要一个for循环,或者更可能是一个列表理解。另外,使用格式字符串打印使代码更具可读性:
print(f“{idx}:{item}”)
idx
item
分别定义为列表编号和该位置的项目时。谢谢!!现在我看得更直截了当了cheers@coschal如果这解决了您的问题,请将其标记为解决方案并感谢:)
1 Watch lecture videos
2 Complete quiz
3 Practise
def numbered_list(items):
    """Prints a numbered list of items starting from 1"""
    i = 0 

    while i <len(items):
        print(items[i])
        
        
        i += 1
        
todos = ["Watch lecture videos", "Complete quiz", "Practise"]
numbered_list(todos)