2016年8月23日 星期二

python 程式設計50題測試範例-13

13、寫一程式包含下列三個功能,不能用內建的函數
  (1).輸入一個十進位數,將數字轉成二進位,八進位,十六進位。
  (2).輸入一個二進位數,將數字轉成十進位,八進位,十六進位。

  (3).輸入一個十六進位數,將數字轉成二進位,八進位,十進位。


範例一
範例二
輸入
26
77
輸出
11010,32,1A
1001101,115,4D


程式:
#coding:UTF-8

#    13、寫一程式包含下列三個功能 
#  (1).輸入一個十進位數,將數字轉成二進位,八進位,十六進位。 
#  (2).輸入一個二進位數,將數字轉成十進位,八進位,十六進位。 
#  (3).輸入一個十六進位數,將數字轉成二進位,八進位,十進位。

print("    13、寫一程式包含下列三個功能 ")
print("  (1).輸入一個十進位數,將數字轉成二進位,八進位,十六進位。 ")
print("  (2).輸入一個二進位數,將數字轉成十進位,八進位,十六進位。 ")
print("  (3).輸入一個十六進位數,將數字轉成二進位,八進位,十進位。")

while True:
     P = input('請輸入1,2,3 :')
     try:
        P = int(P)
       
     except ValueError:
       print ('這是不合法的輸入.  請再輸入一次...')
       continue
        
     if ( P>0 and P<4 ):
       break

while (P==1) :

    dec = int(input("輸入十進位數字:"))

    print("十進位數字為:", dec)
    print("轉換為二進位為:", bin(dec))
    print("轉換為八進制為:", oct(dec))
    print("轉換為十六進位為:", hex(dec))
    break


while (P==2) :

    binary = (input("輸入二進位數字:"))
    binary2=int(binary,2)
    
    print("二進位數字為:", binary)
    print("轉換為十進位為:", binary2)
    print("轉換為八進制為:", oct(binary2))
    print("轉換為十六進位為:", hex(binary2))
    break

while (P==3) :

    hexdec = (input("輸入十六進位數字:"))
    hexdec2=int(hexdec,16)
    print("十六進位數字為:", hexdec)
    print("轉換為十進位為:", int(hexdec2))
    print("轉換為八進制為:", oct(hexdec2))
    print("轉換為二六進位為:", bin(hexdec2))
    break

結果:
================= RESTART: D:/程式語言 Python 入門/50題/Ex50-13.py =================
    13、寫一程式包含下列三個功能 
  (1).輸入一個十進位數,將數字轉成二進位,八進位,十六進位。 
  (2).輸入一個二進位數,將數字轉成十進位,八進位,十六進位。 
  (3).輸入一個十六進位數,將數字轉成二進位,八進位,十進位。
請輸入1,2,3 :1
輸入十進位數字:255
十進位數字為: 255
轉換為二進位為: 0b11111111
轉換為八進制為: 0o377
轉換為十六進位為: 0xff
>>> 
================= RESTART: D:/程式語言 Python 入門/50題/Ex50-13.py =================
    13、寫一程式包含下列三個功能 
  (1).輸入一個十進位數,將數字轉成二進位,八進位,十六進位。 
  (2).輸入一個二進位數,將數字轉成十進位,八進位,十六進位。 
  (3).輸入一個十六進位數,將數字轉成二進位,八進位,十進位。
請輸入1,2,3 :2
輸入二進位數字:11111111
二進位數字為: 11111111
轉換為十進位為: 255
轉換為八進制為: 0o377
轉換為十六進位為: 0xff
>>> 
================= RESTART: D:/程式語言 Python 入門/50題/Ex50-13.py =================
    13、寫一程式包含下列三個功能 
  (1).輸入一個十進位數,將數字轉成二進位,八進位,十六進位。 
  (2).輸入一個二進位數,將數字轉成十進位,八進位,十六進位。 
  (3).輸入一個十六進位數,將數字轉成二進位,八進位,十進位。
請輸入1,2,3 :3
輸入十六進位數字:ff
十六進位數字為: ff
轉換為十進位為: 255
轉換為八進制為: 0o377
轉換為二六進位為: 0b11111111
>>> 

沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...