IKG/FIFO
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Python</language>
<run id="693818082b422">
from collections import deque
class Warteschlange:
def __init__(self):
self.queue = deque()
def anstellen(self, person):
self.queue.append(person)
print(f"{person} stellt sich an.")
def bedienen(self):
if self.ist_leer():
print("Die Warteschlange ist leer. Niemand kann bedient werden.")
else:
person = self.queue.popleft()
print(f"{person} wird bedient.")
def anzeigen(self):
if self.ist_leer():
print("Die Warteschlange ist leer.")
else:
print("Aktuelle Warteschlange:")
for position, person in enumerate(self.queue, start=1):
print(f"{position}. {person}")
def ist_leer(self):
return len(self.queue) == 0
def menue():
print("\n--- FIFO Warteschlangen-Simulation ---")
print("Erstens: Person anstellen")
print("Zweitens: Person bedienen")
print("Drittens: Warteschlange anzeigen")
print("Viertens: Programm beenden")
def main():
warteschlange = Warteschlange()
while True:
menue()
auswahl = input("Bitte wähle eine Option: ")
if auswahl == "1":
name = input("Name der Person: ")
warteschlange.anstellen(name)
elif auswahl == "2":
warteschlange.bedienen()
elif auswahl == "3":
warteschlange.anzeigen()
elif auswahl == "4":
print("Programm wird beendet.")
break
else:
print("Ungültige Eingabe. Bitte erneut wählen.")
if __name__ == "__main__":
main()
</run>
<run id="693817ea930bd">
</run>