我目前正在學習使用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)更具體的關於你遇到的問題比*有困難*。你在發佈的代碼中遇到了哪些**特定的困難?見[問]。 –