リストに3人をエンキューして、すべての人がトップに表示された結果を表示するようにしましたが、名前なしで1つの結果しか得られませんでした:キューのデータ構造リスト(Python)からアイテムを呼び出す
Contacting the following
Phone answered: Yes
Booked an appointment: No
Reshedule an appointment again.
私は出力が2回表示しないように、すべて自分の名前と3つの出力、'names'
内部に格納された情報から、それぞれの人のための1、およびそれぞれの名前を表示するようにしたいです。
リストに基づいてキューの優先順位を設定するキューを使用したいので、それらを順番に入れようとしています。 ifとelifは、ランダムジェネレータに応じていずれかのカテゴリに入る条件です。さて、内部に名前を含める方法は定義されていません。
コード
import random
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]
names = ["Alvin", "James", "Peter"]
# Enqueuing
q = Queue()
q.enqueue(random.choice(names))
# Dequeuing and Printing
print("Contacting the following:\n" + "\n".join(q.container)) # unsure about this
for i in range(q.size()):
answered = random.randint(0,1)
booked = random.randint(0, 1)
if(answered == 1 and booked == 1):
print("Now Calling -" + (q.names)) # unsure about this
print("Phone answered: Yes")
print("Booked an appointment: Yes")
print("Booking successful.")
elif(answered==1 and booked==0):
print("Now Calling -" + (q.names)) # unsure about this
print("Phone answered: Yes")
print("Booked an appointment: No")
print("Reshedule an appointment again.")
elif(answered == 0):
print("Now Calling -" + (q.names)) # unsure about this
print("Phone answered: No")
print("Reshedule a callback.")
q.dequeue()
例所望の出力:
Contacting the following
Alvin
James
Peter
Now Calling - James
Phone answered: No
Reshedule a callback.
たhttps://stackoverflow.com/questions/47736687/show-names-in-queue-data-structure#47736687)を削除したとき... –
残念です。私は自分自身でそれを理解しようと思った。 – John