我目前正在学习使用ord()和chr(),但以下代码有困难。当到达字符串末尾时退出While循环
b = '1101'
i = 0
while b != ' ' :
i = i*2 + (ord(b[0]) + ord('0'))
b = b[1:]
Traceback (most recent call last):
File "<pyshell#86>", line 2, in <module>
i = i*2 + (ord(b[0]) + ord('0'))
IndexError: string index out of range
为什么我的字符串超出范围,并抛出了错误,而不是退出,因为我想到了循环?
b不会成为空间。空间从哪里来?顺便说一句好的标题。 – harold
您的错误基于while循环和缩小的字符串,您可能希望将'chr'和'ord'部分从答案中提取出来并给它一个更具描述性的标题,以便将来具有相同错误的人可以找到这个回答。 –
请编辑您的文章和a)使标题描述您遇到的问题或您问的问题,因此它对未来的读者有一定的实用价值,这些读者可以在搜索结果列表中看到它,以及b)更具体的关于你遇到的问题比*有困难*。你在发布的代码中遇到了哪些**特定的困难?见[问]。 –