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
