Files
haider-bot/code/module/rainer_board.py
2023-03-08 19:35:38 +00:00

41 lines
1.6 KiB
Python

import random
class rainerSpruche():
def __init__(self, spruchDatei, nameDatei):
with open(spruchDatei, 'r') as f:
self.zitate = [line.strip() for line in f]
with open(nameDatei, 'r') as f:
self.names = [line.strip() for line in f]
self.letzte_zahl = []
self.spruchDatei = spruchDatei
self.nameDatei = nameDatei
def randomSpruch(self):
self.aktuelle_zahl = random.sample(range(len(self.zitate)), 1)[0]
mögliche_zahlen = list(range(len(self.zitate)))
while self.aktuelle_zahl in self.letzte_zahl:
mögliche_zahlen.remove(self.aktuelle_zahl)
if len(mögliche_zahlen) == 0:
mögliche_zahlen = list(range(len(self.zitate)))
self.aktuelle_zahl = random.choice(mögliche_zahlen)
if len(self.letzte_zahl) >= 3:
self.letzte_zahl.pop(0)
self.letzte_zahl.append(self.aktuelle_zahl)
return(self.zitate[self.aktuelle_zahl])
def randomName(self):
self.aktuelle_zahl = random.sample(range(len(self.names)), 1)[0]
mögliche_zahlen = list(range(len(self.names)))
while self.aktuelle_zahl in self.letzte_zahl:
mögliche_zahlen.remove(self.aktuelle_zahl)
if len(mögliche_zahlen) == 0:
mögliche_zahlen = list(range(len(self.names)))
self.aktuelle_zahl = random.choice(mögliche_zahlen)
if len(self.letzte_zahl) >= 3:
self.letzte_zahl.pop(0)
self.letzte_zahl.append(self.aktuelle_zahl)
return(self.names[self.aktuelle_zahl])