在實際項目中,會經常遇到將數據進行轉換。python中將十進制轉換為二進制使用bin()函數,轉換成八進制使用oct()函數,轉換成十六進制使用hex()函數
練習:將十進制數據轉換為二進制、八進制和十六進制
將十進制數據轉換為二進制的5中方法,如下:
#將十進制轉換為二進制
num=int(input('請輸入一個十進制整數:')) #將str類型轉換成int類型
print(num,'的二進制數為:',bin(num)) #第一種寫法,使用了可變的位置參數
print(str(num)+'的二進制數為:'+str(bin(num))) #第二種寫法,使用“+”作為連接符,“+”左右兩邊均為str類型
print('%s的二進制數為:%s' % (num,bin(num))) #第三種寫法,格式化字符串
print('{0}的二進制數為:{1}'.format(num,bin(num))) #第三種寫法,格式化字符串
print(f'{num}的二進制數為:{bin(num)}') #第三種寫法,格式化字符串
執行結果:

接下來將十進制轉換成八進制,只需要從上面任意一種展示方法即可
num=int(input('請輸入一個十進制整數:')) #將str類型轉換成int類型
print(f'{num}的八進制數為:{oct(num)}')
執行結果:

將十進制轉換為十六進制,使用hex()函數
num=int(input('請輸入一個十進制整數:')) #將str類型轉換成int類型
print(f'{num}的十六進制數為:{hex(num)}')
執行結果:

擴展:
當輸入不是十進制整數時,提示用戶輸入正確的數據
def fun():
num=int(input('請輸入一個十進制整數:')) #將str類型轉換成int類型
print(f'{num}的十六進制數為:{hex(num)}')
if __name__ == '__main__':
while True:
try:
fun()
break #當fun方法正確執行后退出程序
except:
print('只能輸入十進制整數,請輸入正確的數字')
執行結果:

