当我尝试打印子字符串时,代码给出了错误
def wrap(string, max_width):
n=int(len(string)/max_width)
i=0
j=max_width+1
for _ in range(n):
print(string[i,j])
i=j
j+=max_width
print(string[i,len(string)])
答案 0 :(得分:1)
此:
string[i,j]
是无效的格式。当您尝试获取字符串的特定索引时,只能输入一个参数,并且该参数必须为整数。因此,这里的问题是python将i,j
解释为一个元组,而不是整数。
您可能正在尝试将字符串从索引i
切成索引j
。在这种情况下,语法为
string[i:j]
之所以有效,是因为:
告诉python这是一个切片,并在:
的左侧和右侧寻找一个单独的索引。
答案 1 :(得分:0)
这是正确的功能
def wrap(string, max_width):
n=int(len(string)/max_width)
i=0
j=max_width+1
for _ in range(n):
print(string[i:j])
i=j
j+=max_width
print(string[i:len(string)])
您会收到错误消息,因为无法使用string[i,j]
和string[i,len(string)]
从字符串中提取字符。在Python中,“:”用于从字符串中提取字符。