gpt4 book ai didi

python - 使用 enqueue 将数字生成器添加到堆栈数据结构

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:38 24 4
gpt4 key购买 nike

我是队列实现的新手,需要一些帮助来练习。

假设我正在使用 enqueue 对 4 个人进行排队,并且我想向输出添加一个函数,以显示 1 到 10 之间的随机数“x”4 次,并符合以下条件:

如果“x”在 1-8 之间,则名称将添加到队列中。如果 'x' 是 9 或 10,程序会将 'exit' 压入堆栈数据结构并退出 4 的循环,并使用 pop 方法显示堆栈上的所有名称

此外,条件是显示名称的最大数量为 4,最小数量为 0。然后,将在输出处显示已添加到队列中的名称的结果。

如何添加这个?

import random  # We will need this to generate the random number

class Queue:
def __init__(self):
self.container = []

def isEmpty(self):
return self.size() == 0

def enqueue(self, item):
self.container.append(item)

def dequeue(self):
self.container.pop(0)

def size(self):
return len(self.container)

def peek(self) :
return self.container[0]

q = Queue()
names = ["Same", "Peter", "James", "Daniel"] # List of possible names
for i in range(0,4): # for loop 4 times
rand = random.randint(1, 10) # Choose a random number
print("Number Generated:\n" + str(rand)) # Display selected number
if rand >= 9: # number is 9 or 10
break # Break out of the loop, you can also add other logic here
else: # number is less than 9
q.enqueue(random.choice(names)) # Enqueue a random name
print(q.items)

我希望实现这样的输出

Number generated: 
8
Number generated:
3
Number generated:
2
Number generated:
10

Completed.

Names of people added to queue:
#3 - James
#1 - Sam
#2 – Peter

最佳答案

听起来你想生成一个随机数,如果随机数满足特定条件,则将一个值排入队列,否则打破循环。使用您对 Queue 类的定义,以下内容应执行此操作:

import random  # We will need this to generate the random number

q = Queue() # Initialize the Queue just like you had it
names = ["Same", "Peter", "James", "Daniel"] # List of possible names
for i in range(0,4): # for loop 4 times
rand = random.randint(1, 10) # Choose a random number
print("Number Generated:\n" + str(rand)) # Display selected number
if rand >= 9: # number is 9 or 10
break # Break out of the loop, you can also add other logic here
else: # number is less than 9
q.enqueue(random.choice(names)) # Enqueue a random name

希望这有助于解决您的问题。

关于python - 使用 enqueue 将数字生成器添加到堆栈数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47727551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com