1. 程式人生 > >Python 八進位制轉換為十進位制程式碼

Python 八進位制轉換為十進位制程式碼

Python 八進位制轉換為十進位制的程式碼示例,包括了程式分析和程式原始碼,分享原始碼如下:

#整數版
from functools import reduce
n=[int(x) for x in input('輸入一個整數:')]
print(reduce(lambda x,y:x*8+y,n))
#浮點數版
#感謝分享: http://www.codesc.net
s=input('輸入一個數,可以是浮點數:')
try:
    float(s)
except ValueError:
    print('輸入錯誤')
else:
    f=s.index('.')
    s=s[:f]+s[f+1:]
    s=[int(x) for x in s]
    n=sum([ 8**(f-1-i)*s[i] if i<f else 8**(i-1-f)*s[i] for i in range(len(s))])
    print(n)
    
'''
#原程式
if __name__ == '__main__':
    n = 0
    p = raw_input('input a octal number:\n')
    for i in range(len(p)):
        n = n * 8 + ord(p[i]) - ord('0')
    print n
'''

  引自:http://www.codesc.net/tech/3239.shtml