Python 使用返回和打印进行文本换行
您将获得一个字符串Python 使用返回和打印进行文本换行,python,Python,您将获得一个字符串S和宽度w。 您的任务是将字符串S包装成一段宽度w。 输入格式 第一行包含一个字符串,S。 第二行包含宽度,w 样本输入 ABCDEFGHIJKLIMNOQRSTUVWXYZ 4 ABCD EFGH IJKL IMNO QRST UVWX YZ 样本输出 ABCDEFGHIJKLIMNOQRSTUVWXYZ 4 ABCD EFGH IJKL IMNO QRST UVWX YZ 我尝试了代码,但没有得到所需的结果。因为输出中有两条额外的线。 还要注意:代码中的最后4行是不
S
和宽度w
。
您的任务是将字符串S
包装成一段宽度w
。
输入格式
第一行包含一个字符串,S
。
第二行包含宽度,w
样本输入
ABCDEFGHIJKLIMNOQRSTUVWXYZ
4
ABCD
EFGH
IJKL
IMNO
QRST
UVWX
YZ
样本输出
ABCDEFGHIJKLIMNOQRSTUVWXYZ
4
ABCD
EFGH
IJKL
IMNO
QRST
UVWX
YZ
我尝试了代码,但没有得到所需的结果。因为输出中有两条额外的线。
还要注意:代码中的最后4行是不可变的(不可更改)
您的想法是正确的,但是您没有在函数中构建一个字符串来返回主代码的调用代码以打印它
def wrap(string, max_width):
y=max_width
z=0
return_string = "" #Create an empty string that we will build as we go
for i in range(0,len(string),y):
return_string += string[0+z:y+z] + "\n" #append the chars to the string with a new line
z+=max_width
return return_string
if __name__ == '__main__':
string, max_width = input(), int(input())
result = wrap(string, max_width)
print(result)
这也可以写成一个列表,并加入新行
def wrap(string, max_width):
return "\n".join([string[i:i+max_width] for i in range(0, len(string) - 1, max_width)])
您的想法是正确的,但是您没有在函数中构建一个字符串来返回主代码的调用代码以打印它
def wrap(string, max_width):
y=max_width
z=0
return_string = "" #Create an empty string that we will build as we go
for i in range(0,len(string),y):
return_string += string[0+z:y+z] + "\n" #append the chars to the string with a new line
z+=max_width
return return_string
if __name__ == '__main__':
string, max_width = input(), int(input())
result = wrap(string, max_width)
print(result)
这也可以写成一个列表,并加入新行
def wrap(string, max_width):
return "\n".join([string[i:i+max_width] for i in range(0, len(string) - 1, max_width)])
试试这个,它有点小,也不太复杂
import textwrap
def wrap(string, max_width):
text = textwrap.fill(string,max_width)
return text
if __name__ == '__main__':
string, max_width = input(), int(input())
result = wrap(string, max_width)
print(result)
试试这个,它有点小,也不太复杂
import textwrap
def wrap(string, max_width):
text = textwrap.fill(string,max_width)
return text
if __name__ == '__main__':
string, max_width = input(), int(input())
result = wrap(string, max_width)
print(result)
你的实际结果是什么?使用图书馆似乎有点过分;您是否考虑过只解析字符串
S
?结果是:fang EFGH IJKL IMNO QRST UVWX YZ none您的想法很接近,但函数没有返回任何结果。您不想在函数中打印输出您想构建一个字符串返回,然后让行print(result)
处理输出您的实际结果是什么?使用图书馆似乎有点过分;您是否考虑过只解析字符串S
?结果是:fang EFGH IJKL IMNO QRST UVWX YZ none您的想法很接近,但函数没有返回任何结果。您不想在函数中打印输出—您想构建一个字符串以返回,然后让行print(result)
处理outputimport textwrap string=“ABCDEFGHIJKLIMNOQRSTUVWXYZ”打印(textwrap.fill(string,4))#它也类似于import textwrap string=“abcdefghijklimnoqrstuvxyz”打印(textwrap.fill(string,4))#也很相似