您正在將字符串傳遞給bin()函數:>>> bin('10')Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'str' object cannot be interpreted as an index給它一個整數來代替:>>> bin(10)'0b1010'通過將raw_input()結果轉換為int():n = int(raw_input())提示:您可以通過給負片跨度輕松地反轉字符串:>>> 'forward'[::-1]'drawrof'因此您可以將功能簡化為:def reversebinary(): n = int(raw_input()) bin_n = bin(n)[2:] revbin = bin_n[::-1] return int(revbin, 2)甚至:def reversebinary(): n = int(raw_input()) return int(bin(n)[:1:-1], 2)
添加回答
舉報
0/150
提交
取消