Python 如何使用while循环打印列表中的选定值

Python 如何使用while循环打印列表中的选定值,python,list,while-loop,Python,List,While Loop,我在大学刚开始学习Python的基础知识,在分配给我的一项任务中,我被要求编写代码,使用while循环打印列表中的前3个值。我的列表包含5个值,它们都是字符串 因为我是Python新手,这是我的第一个任务,使用列表时我经常弄乱代码,编辑列表以查看它是否会有所不同(除了创建错误或打印所需输出的一半之外) 我试过的一件事是: while shopping_list == [0:4] print (shopping_list[0:3] 这就创建了一个打印前3个值的无限循环 所以现在我就这样离开了

我在大学刚开始学习Python的基础知识,在分配给我的一项任务中,我被要求编写代码,使用while循环打印列表中的前3个值。我的列表包含5个值,它们都是字符串

因为我是Python新手,这是我的第一个任务,使用列表时我经常弄乱代码,编辑列表以查看它是否会有所不同(除了创建错误或打印所需输出的一半之外)

我试过的一件事是:

while shopping_list == [0:4]
  print (shopping_list[0:3]
这就创建了一个打印前3个值的无限循环

所以现在我就这样离开了:

print (shopping_list[0:3])

但是它需要在while循环中

对于
while
循环解决方案,您可以使用以下方法来实现:

如果案例列表少于三个,则使用_len=min(3,len(购物列表))#。
idx=0#起始索引。
而idx
如果购物清单少于三个项目,这将限制预先循环的数量。或者,您可以检查每个项目,查看其是否存在于列表中:

idx=0#开始索引。
而idx<3:#对于三个索引:
如果idx
另一种可能是复制(最多)前三个元素,然后打印每个元素,然后将其删除。这大概是:

short_list=shopping_list[:3]#新列表中最多三个。
while len(short_list)>0:#while list非空:
打印(短列表[0])#打印列表中的第一个。
short_list=short_list[1:]#然后将其删除。
这不是最有效的代码,但它确实有效


如果不需要
while
循环,我就不会选择这些方法来完成这项任务,因为Python提供了更多的表达方式。但是,如果您必须在
时使用
,它们可能是最简单的方法

对于那些更具表现力的方式(不使用
,而根据需要使用
,因此这里只提供额外信息),我可能会选择以下方式:

购物清单[:3]中项目的
:
打印(项目)
或者,一旦您了解了Python的黑暗角落:

打印(“\n).加入(购物清单[:3]))

顺便说一句,最后一个建议并不是一个严肃的建议,尽管它确实有效,假设您的购物列表由字符串值组成。但如今谁会去购物,比如
42
1.414
?:-)

如果你在大学里学习,我肯定你有课堂笔记或课本可以参考。如果不是的话,互联网上到处都是学习基础知识的教程。
shopping\u list==[0:4]
是一个会导致语法错误的表达式,它从未像您建议的那样运行过。你要做的是遵循< <代码> > <代码>循环——考虑<<代码> 如何工作。当某个条件为
True
时,它会继续运行。那么,在你完成运行之前,你需要什么条件是
True
。正如我所提到的,我确实将代码改成了其他代码,因此它现在没有写在我面前,而且因为我对python如此陌生,所以我在试图回忆我以前写过的东西时犯了一个错误。它可能只是一个“=”而已。感谢您对while循环的反馈。@Julien是的,我们在一个类中简要介绍了while循环和列表的基本知识,但我们没有讨论如何仅打印列表中的某些值,包括所有值或其中一个值。我也知道互联网在这方面很有用,这就是为什么我在我的讲师指点我到这个网站寻找答案后来到这里的原因。谢谢你的帮助,非常感谢。老实说,我不理解您提供的任何代码,但它工作得非常完美。此外,我会给我的讲师发信息,看看他是否改变主意,使用while循环来完成这项任务,因为我同意这不是完成这项任务的最佳方式。对于这样的作业,目的不是学习“完成这项任务的最佳方式”,而是学习“语言的关键结构是如何工作的”——如果你愿意的话“我不理解提供的任何代码“,你没有从这个练习中受益,如果一开始就错过了学习如何编程的关键部分,你将在接下来的过程中不知所措。试着完全理解@paxdiablo发布的第一个示例,否则在以后的课程中你会遇到严重的问题。@stobbartaidan:“最好的方法”只是作为一个附录添加,而不是给出真正的答案,这是有原因的。这是因为你应该遵循作业中给出的规格。如果教育家告诉您在使用
时使用
,您应该这样做,因为这样做几乎肯定有很好的理由(比如他们试图教您使用通用代码而不是Python)。另请参阅@Grismar的评论。根据对第一个代码块的理解(正如他们所建议的),我添加了一些注释,希望对您有所帮助。谢谢您的反馈。我欣赏代码中添加的注释,以帮助我更好地理解它,它确实有帮助。我只是不认为我的讲师打算让我以这种方式完成任务,因为他从来没有讨论过关于索引的任何内容,通常他根据他在课堂上向我们展示的内容来设置任务。但我相信,当我提交作业后,我将能够讨论他希望完成任务的方式。