我在这条Python鳕鱼身上犯了什么错

2024-10-03 02:43:29 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,这个程序差不多完成了,但它一直在运行。我们得弄清楚哨兵或破门而入的地方。这就是我到目前为止在Python中所做的。程序应该读取列表上的所有压力并打印出来。然后有一个切片去掉前两个和最后一个两个。然后呢它打印的列表大小是6,然后继续给我6的字母顺序相反。除了无限期地重复结束,我什么都做得很好。必须有一个while循环来显示playlist返回的列表中的元素。你知道吗

Pres = ['Kennedy','Johnson','Nixon','Ford','Carter','Reagan',\
        'Bush','Clinton','Bush','Obama'] 
Pres2 = Pres[2:8]

def main():

    for names in Pres:

        print(names)


    PR3=playlist(Pres2)
    while playlist !='6':
            for PR3 in Pres2:
                    print(PR3)


def playlist(PR):

    size = len(PR)
    print('list size is now', size)

    PR.sort()
    PR.reverse()
    return PR

main()

这就是我运行它时应该得到的。你知道吗

Kennedy
Johnson
Nixon
Ford
Carter
Reagan
Bush
Clinton
Bush
Obama
list size is now 6
Reagan
Nixon
Ford
Clinton
Carter
Bush

但是,在名单规模现在是6位之后,最后6位总统只是不断重复。它需要在自己的线上垂直阅读。你知道吗


Tags: 程序列表sizeprplaylistprintfordcarter
2条回答
  1. 编写一个名为我的列表.py如下所示。请仔细遵循说明,避免扣分。你知道吗

在主功能中:

按时间顺序列出最近几任美国总统的姓氏,从肯尼迪开始,到奥巴马结束。 使用for循环遍历整个列表,在自己的行中打印每个总统的名字。 把前两任总统和后两任总统从名单上去掉,从中分一杯羹。 将新片段作为参数传递给名为playlist的自定义函数。 使用while循环显示playlist返回的列表中的元素。 在播放列表功能中:

打印切片列表的大小。使用列表函数。 按逆字母顺序对切片列表排序。 将此列表返回到main。 样本输出 主目录中的原始列表: 肯尼迪 约翰逊 尼克松 福特 卡特 里根 灌木 克林顿 灌木 奥巴马 不在main中:列表大小现在是6 回到主界面,按字母倒序排列 里根 尼克松 福特 克林顿 卡特 灌木

它在main函数中调用while循环

似乎您在理解编程的基础知识方面也有一些问题。我强烈建议你再读一遍你已经读过的课程。你知道吗

不过,这里有一些解释:

  • playlist实际上是一个函数。这个while playlist !='6'循环只是验证这个函数对象不是字符串。总是不同的,所以。如果要比较函数的结果,必须调用它:playlist(PR),这将执行函数并返回可以存储在变量中的列表。

  • 您的playlist函数正在返回一个list对象。为什么要把它和'6'作比较? 此外,'6'不是列表的长度。它是一根弦。6是列表的长度,因为它是一个整数。

  • 既然您只希望六位总统显示一次,为什么要使用while循环?这没有道理。循环用于需要重复未知次数的操作。

  • 因为Pres2是从Pres开始的,所以它的长度是6。它的长度从未如此之长,即使假设你的循环已经被正确地起草,里面的代码也不会被执行。

  • 当使用for循环通过列表进行迭代时,在for之后写入的变量用作别名,它表示从列表中迭代的当前对象。for PR3 in Pres2:很奇怪,因为您已经定义了一个名为PR3的变量。如果您想在列表中显示总统,那么您可以像以前一样使用for name in PR3

让我向您展示该函数的增强版本,希望您能够更好地理解它的工作原理:

def main():

    # Print the 10 Presidents
    for name in Pres:
        print(name)

    # Print the size of the list which already contains 6 Presidents
    # Then, sort the list, reverse it and return it
    # The new list is store into PR3
    PR3 = playlist(Pres2)

    # Print the 6 reverse sorted Presidents
    for name in PR3:
        print(name)

你拿到了吗?你完全不需要使用循环。你知道吗

相关问题 更多 >