#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, в котором вы останавливаетесь, если возникает условие