【问题标题】:Adding a new line character to a variable in python [duplicate]在python中向变量添加换行符[重复]
【发布时间】:2015-10-08 16:10:50
【问题描述】:

我有下面的函数来得到下面的输出

22
4444
666666

相反,我得到了

'22\n4444\n666666\n88888888\n'

任何想法我哪里出错了?

def EvenLadder(n):
    ...:     solution = ''
    ...:     if n <= 1:
    ...:         return solution
    ...:     elif n%2 ==0:
    ...:         for i in range(2,n+1,2):
    ...:             solution += (str(i)*i)+"\n"
    ...:     else:
    ...:         n = n - 1
    ...:         for i in range(2,n+1,2):    
    ...:             solution += (str(i)*i)+"\n"
    ...:     return solution

【问题讨论】:

  • 试试print(EvenLadder(n))。当您调用函数而不打印或将结果存储在变量中时,您只是看到了 repr() 的输出。显然,给 n 一些价值。
  • 你的代码对我来说很好,结果和你希望的一样。
  • 打印 EvenLadder(6).__repr__() - '22\n4444\n666666\n';打印 EvenLadder(6) - 22 4444 666666
  • 是的 .. 打印作品 .. 谢谢 :)

标签: python


【解决方案1】:

'22\n4444\n666666\n88888888\n' 是预期结果的正确字符串表示。为了实际处理换行符,您需要打印它:

print EvenLadder(6)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 2021-04-07
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    相关资源
    最近更新 更多