以下代码可向用户发送消息:
mud.send_message(id, rooms[self.current_room]["desc"])
在游戏代码的一部分中,我不想重新开始,所以我尝试:
mud.send_message(id, rooms[self.current_room]["desc"], end=" ")
mud.send_message(id, "This starts on the same line as the code above.")
这当然会引起一个错误,即此处不欢迎第三个变量(end =“”)。如何在同一行上开始第二条消息?
其他信息(如果需要)
def send_message(self, to, message):
self._attempt_send(to, message+"\n\r")
答案 0 :(得分:2)
您要记住的end
参数是特定于内置的print
函数;其他输出文本的东西 不一定会支持它。
如果send_message
是您自己的代码,则可以对其进行修改,以使其不自动添加换行符-甚至不实施end
参数(我可以根据需要添加详细信息)。
如果send_message
在其他人的图书馆中,则一般,您应该先查看该图书馆的文档并查看推荐的内容。
但是,对于像这样简单的情况,显而易见的事情是只准备一行文本以进行输出,因此只进行一次send_message
调用。
您可以使用字符串格式进行此操作,例如:
# Python 3.6 and later
mud.send_message(id, f'{rooms[self.current_room]["desc"]} This is on the same line.')
# Earlier 3.x, before the introduction of f-strings
mud.send_message(id, '{} This is on the same line.'.format(rooms[self.current_room]["desc"]))
答案 1 :(得分:-1)
由于send_message
始终将'\n\r'
连接到您传递给它的任何message
上,因此您可以调用_attempt_send
来代替
mud._attempt_send(id, rooms[self.current_room]["desc"] + " ")