我试图编写一个函数来查找这个函数,方法是循环遍历我的列表,使计数器=0,当找到0时,计数器+=1,当找到第一个非0时,一个新计数器将启动,列表中的下一个0将添加到新计数器中,等等。。 然而,这并不是我的教授想要的计算方法,但正如我前面提到的,我错过了一节课,并且正在努力理解如何使用标志/布尔值
我的课程必须:
提示用户输入列表的大小(N)。然后提示用户输入N个数字并将它们存储到名为burstList的列表中。
给定N和burstList,您的程序应该计算出0的突发长度,并将它们存储在一个名为burstlength的列表中。
给定list burstlength,使用while循环打印突发长度列表。
我的教授希望我们“合并标志和布尔数据类型。使用循环遍历列表,找到0后,将标志设置为true并使用计数器递增。使用一个稍后可以为每个突发事件附加计数器的列表“
假设我有:
N=15
burstList=[1,0,0,0,3,7,0,0,0,0,0,0]
那么我的列表长度应该包含:
[6,4]
到目前为止,我只有:
burstList = []
N = int(input("Enter the length of the list: "))
def listSize():
>for i in range(N):
>>value = int(input("Enter integer value "+str(i+1)+": "))
>>burstList.append(value)
>print("List = ", burstList)
你的作业大约需要10-20行代码。简而言之,您需要做的是:
counter
和flag
。counter
将计数突发事件,flag
将告诉您何时计数。在burstList
中的每个数字x
,x
是否为0。如果是,请将flag
设置为True
,并增加counter
。在x
不等于零,则检查flag
是否仍然是{counter
的当前值保存在burstLengths
内,重置它,并将flag
设置为False
。在最后,您需要注意这样一个事实:在迭代之后,您可能没有注册最后一个突发,如果有的话(例如,如果
burstList
的最后一个k
元素是0)。所以你必须处理好。在因为这是一个任务,所以这里有一个解决方案,它使用了您不能提交的代码,只是为了演示:-)
或者,如果您想知道一些想法,下面是一些缺少基本部分的入门代码:
^{pr2}$另一个问题是你的方法:
1)获取输入列表的长度并初始化输出列表、计数连续0数的计数器值以及在找到0时要设置的标志变量。在
2)对于列表中的每个元素:
输出。在
3)最后,返回输出列表。在
下面的代码实现了上述算法:
运行它:
^{pr2}$得到以下结果:
相关问题 更多 >
编程相关推荐