gpt4 book ai didi

python -\n 在函数的返回语句中打印\n 而不是 python 中的新行

转载 作者:行者123 更新时间:2023-12-05 02:14:54 24 4
gpt4 key购买 nike

考虑下面的 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()

最佳答案

您是否在面向行的命令 shell 中工作?如果是这样,我可以看到你的困惑。典型的命令 shell 有一个特殊的例程,用于简单地显示变量值,该例程转换输出格式字符。例如,默认的 Python 交互式 shell 为我们提供了这个:

>>> def fun_ret(num):
... return '\n'+str(num)
...
>>> a=fun_ret(56)
>>> a
'\n56'
>>> print(a)

56
>>>

注意区别:简单的 a 命令会仔细显示变量的 string 值,扩展各种控制字符的可视速记。 print 命令应用标准格式化程序,其中 \n 字符被转换为实际的“换行”操作。

这有助于解决问题吗?

关于python -\n 在函数的返回语句中打印\n 而不是 python 中的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52955252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com