用 python 實現 把一個數字組成的字串轉為整數,不使用 int
阿新 • • 發佈:2019-02-06
str1 = '03240' print('方法一(1)'.center(40,'*')) result1 = 0 for i,m in enumerate(str1[::-1]): for n in range(10): if m == str(n): result1 += n*(10**i) print(result1) print('方法一(2)'.center(40,'*')) list1 = [] result12 = 0 for m in str1: for i in range(10): if str(i) == m: list1.append(i) for p,q in enumerate(list1[::-1]): result12 += q*(10**p) print(result12) ''' 錯誤方法!因為迴圈寫錯了:把字串遍歷輸出追加到列表的時候就排好序了,所以字串中的0無法顯示。 正確寫法是拿字串裡的值與0-9去比對,領悟領悟~~~~~~~~~~~~ for i in range(10): for m in str1: if str(i) == m: list1.append(i) print(list1[::-1]) for p,q in enumerate(list1[::-1]): print(p,q) result += q*(10**p) print(result) print('方法二:對第一個字元為0的字串用eval()函式會報錯') ''' print('方法三ord()函式'.center(40,'*')) str3 = str1[::-1] result3 = 0 for s,t in enumerate(str3): result3 += (ord(t)-ord("0"))*(10**s) print(result3)