考虑下面的Python代码。我对Python非常陌生,请帮助我。
这个函数返回
'\n56'
但我需要
--新行--
56
def fun_ret(num):
return '\n'+str(num)
if __name__=='__main__':
a=fun_ret(56)
我看过类似的帖子,但都只是关于打印语句的
实际情况是通过类中方法str的doctest测试
def __str__(self):
"""(Maze)-->str
The parameter represents a maze. Return a string representation of the maze
>>> maze=Maze([['#', '#', '#', '#', '#', '#', '#'],['#', 'J', '.', '.', 'P', '.', '#'], ['#', '.', '#', '#', '#', '.', '#'],['#', '.', '.', '@', '#', '.', '#'],['#', '@', '#', '.', '@', '.', '#'], ['#', '#', '#', '#', '#', '#', '#']], Rat('J', 1, 1),Rat('P', 1, 4))
>>> str(maze)
"#######
#J..P.#
#.###.#
#..@#.#
#@#.@.#
#######
J at (1, 1) ate 0 sprouts.
P at (1, 4) ate 0 sprouts."
"""
result=''
for outer_list in self.maze_content:
for inner_list in outer_list:
result +='{0}'.format(str(inner_list))
result+='\n'
result += '\n'+'{0} at ({1}, {2}) ate {3} sprouts.'.format(self.rat_1.symbol,self.rat_1.row,self.rat_1.col,self.rat_1.num_sprouts_eaten)
result += '\n'+('{0} at ({1}, {2}) ate {3} sprouts.'.format(self.rat_2.symbol,self.rat_2.row,self.rat_2.col,self.rat_2.num_sprouts_eaten))
return result
if __name__=='__main__':
import doctest
doctest.testmod()
\n
。 - mad_print(var)
。每个print语句都会换行。如果你想在打印中有多行内容,那么在其中使用"\n",例如print(a, "\n", b)
。 - Shin