Я работаю над упрощенной сортировкой шапки чата и использую потоки для обработки синхронизации между входами. Однако, когда я передаю l (список) для создания потока, тип l теперь будет sorting_hat, поэтому у него нет атрибута «добавление». Как мне сохранить объект списка в input_thread?
примечание: это не домашнее задание. Я студент, который работает над этим как побочный проект, чтобы преподавать урок CS для старшеклассников, чтобы повысить интерес к информатике. Будем благодарны за любую помощь!
class sorting_hat:
def __init__(self, *args, **kwargs):
self.gryffindor = 0
self.ravenclaw = 0
self.hufflepuff = 0
self.slytherin = 0
self.start = 0
self.name = ""
self.sort()
def sort(self):
print("Oh, you may not think I’m pretty,\n" +
"But don’t judge on what you see,\n" +
"I’ll eat myself if you can find\n" +
"A smarter hat than me.\n" +
"There’s nothing hidden in your head\n" +
"The Sorting Hat can’t see,\n" +
"So try me on and I will tell you\n" +
"Where you ought to be.\n")
time.sleep(1.5)
self.prompt_init_response()
def prompt_init_response(self):
self.start = time.time()
l = []
t = threading.Thread(group=None, target=self.input_thread, args=(l,))
t.start()
flag10 = False
flag25 = False
while 1:
if l:
self.name = l[0]
break
elapsed = time.time() - self.start
if elapsed > 10 and flag10 is False:
flag10 = True
print("Well, well, well...")
print("Are you gonna just sit there or are you gonna introduce yourself? Name?")
elif elapsed > 25 and flag25 is False:
flag25 = True
print("I'll just doze off then until you give me your name... Zzzzz")
def input_thread(l, *args):
print(type(l))
name = input("Oh! A new student! What's your name?")
l.append(name)