以下代码显示'字符串索引超出范围' line" sub = sub + s [j]":
的错误 s=raw_input()
l=len(s)
row=int(l**0.5)
column=row+1
i=0
while i<column:
j=i
sub=""
while j<len:
sub=sub+s[j]
j=j+column
print sub,
sub=""
i=i+1
错误是什么?
答案 0 :(得分:1)
len
是内置函数,条件j<len
将始终为true。将行更改为:
while j < l:
您还应该尝试使变量名称更具描述性。使用单字母变量名称是Python 中的反模式。
答案 1 :(得分:1)
您可能希望使用:
while j < len(s):
而不是:
while j<len:
正如Lex S.所说,len是Python中的保留内置,因此这个代码甚至可以工作(你从未声明过“len”变量)。
正如他所说,您需要留下评论并使用描述性变量名称,以便我们确定您的代码实际上在做什么。我想补充一点,你应该在运营商之间放置空格。而不是
column=row+1
应该是
column = row + 1
您可以阅读PEP 8了解详情。