1. 程式人生 > >用 python 實現 把一個數字組成的字串轉為整數,不使用 int

用 python 實現 把一個數字組成的字串轉為整數,不使用 int

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)