Возникли проблемы с созданием чата на python

#python

#python

Вопрос:

Итак, в основном я пытаюсь создать чат с помощью python, и я хочу создать для него графический интерфейс с помощью tkinter, я запускаю код, и все нормально, все, кроме моего графического интерфейса, должно отображаться имя того, кто отправляет сообщение, и само сообщение, но вместо этого оно показывает {self.name }:{self.msg} и вот код:

 def sendMessage(self):
        self.textCons.config(state=DISABLED)
        while True:
              message = "{self.name}: {self.msg}"
              client.send(message.encode(FORMAT))
              break
 

Комментарии:

1. message = f"{self.name}: {self.msg}"

2. Вы имели в виду: message = f"{self.name}: {self.msg}" ?

3. Бессмысленно иметь while True и break сразу после этого. Это эквивалентно отсутствию while вообще.

4. Похоже, вы хотели использовать форматирование строк python . используйте предыдущий f , как уже было прокомментировано.

Ответ №1:

Для сообщения, которое вы должны сделать:

 message = "{0}: {1}".format(self.name, self.msg)
 

затем в вашем цикле while вы делаете:

 while True:
    #do something
    break
 

это повторяется только один раз, поэтому, если вам нужно только одно повторение, вам нужно сделать:

 #do something
 

Иначе, если вы хотите сделать это больше раз, вы можете использовать for x in range() цикл или цикл while, в котором вы останавливаетесь, если возникает условие