寫出一個程序,接受一個十六進制的數值字符串,輸出該數值的十進制字符串。(多組同時輸入 )
輸入描述:
輸入一個十六進制的數值字符串。
輸出描述:
輸出該數值的十進制字符串。
輸入例子1:
0xA
輸出例子1:
10
思路:將字符串轉化爲列表,反轉後捨去最後兩個(0,X),然後逐位乘以pow(16,i)
import sys
for line in sys.stdin:
s2=line.strip()
d={'A':10,'B':11,'C':12,'D':13,'E':14,'F':15}
s=s2[::-1]
s=list(s)
s=s[:-2]
#s.pop() #不可以用s=s.pop(),因爲s.pop()有返回值,是彈出的元素
#s.pop()
length=len(s)
res=0
for i in range(length):
if s[i] in d:
s[i]=d[s[i]]
s[i]=int(s[i])
res=res+s[i]*pow(16,i)
print(str(res))