尽管我正在如下定义我的功能:
import textwrap
def wrap(string, max_width):
print(textwrap.fill(string, max_width))
if __name__ == '__main__':
string, max_width = input(), int(input())
result = wrap(string, max_width)
print(result)
我收到类似的错误:
*ABCD
EFGH
IJKL
IMNO
QRST
UVWX
YZ
None*
您能帮我调试为什么“无”或此值如何随输出增加。
您正在打印两次。一次进入函数,然后再次返回函数的返回值。 None
来自第二张打印。
执行此操作:
import textwrap
def wrap(string, max_width):
return textwrap.fill(string, max_width) # return , don't print
if __name__ == '__main__':
string, max_width = input().rstrip(), int(input())
result = wrap(string, max_width)
print(result)
您忘记重新调整结果:
这应该起作用:
import textwrap
def wrap(string, max_width):
return(textwrap.fill(string, max_width))
if __name__ == '__main__':
string, max_width = input(), int(input())
result = wrap(string, max_width)
print(result)
wrap()
没有明确的return
。默认情况下,它返回None
。因此,result
的值为None
。只需删除result
变量和以下print()
即可对其进行修复。或者,更改wrap()
以返回结果,而不是打印结果。