Pythonの練習-8.12

注:このコードはコード「Pythonのコアプログラミング(第二版)」8-12演習の章VIIIを達成することです。

関数の完了以下は、ユーザが2つの数値、2進数、8進数と16進の間のすべての小数の整数を示し、それぞれ、デジタル形式の開始と終了を与えられている与えます。文字が印刷可能なASCLL文字の場合は、だけでなく、プリントアウト。文字が印刷可能でない場合、ASCLLの列ヘッダーを省略します。

コードは次のように実装されています。

1  DEF format_print(START_INDEX、END_INDEX):
 2      、SEQ =範囲(START_INDEX、END_INDEX + 1 3      タイトル=   " 12月\ TBIN \ T \ TOCT \ THEX " 
4      もし(END_INDEX> = 32  END_INDEX <= 126 ):
 5          タイトル=   " 12月\ TBIN \トン\ TOCT \ THEX \ tASCLL " 
6      印刷タイトル
 7      印刷 ------------------------------ -------------- " 
8      のための項目配列:
 9          もしアイテム> = 32 および項目<= 12610              プリント " %D \ T%07D \ T \ T%O \ T%X \ T%sの"%(項目、INT(ビン(項目)[2 :])、アイテム、アイテム、CHR(アイテム))
 11          12              プリント " %D \ T%07D \ T \ T%O \ T%X "%(項目、INT(ビン(項目)[2 :])、アイテム、アイテム)
 13      印刷 ' ---- ---------------------------------------- ' 
14  
15  
16  DEF showmenu():
 17      PROMPT1 = ' 開始インデックスを入力し、(Q)UIT:' 
18      PROMPT2 = ' 末端インデックスを入力し、(Q)UIT:' 
19      しばらく真:
 20          中START_INDEX = raw_input(PROMPT1).strip()(下)。
 21          場合 START_INDEX == ' Q ' 22              休憩
23          もし ないstart_index.isdigit():
 24              プリント " !!エラー間違ったフォーマット" 
25は、             引き続き
26          27              START_INDEX = INT(START_INDEX)    
 28  
29          END_INDEX = raw_input(PROMPT2).strip()(下)。
 30          なら END_INDEX == ' Q ' 31             破る
32の         場合 ではない()end_index.isdigit:
 33              印刷 " !!エラーを間違った形式" 
34は、             引き続き
35          他の36              END_INDEX = INT(END_INDEX)
 37  
38          であれば(中START_INDEX> = END_INDEX):
 39は、             引き続き
40          format_print(START_INDEX、END_INDEXを)        
 41  
42  
43  なら __name__ == ' __main__ ' 44      showmenu()        

次のようにテスト結果は以下のとおりです。

図1は、インデックス、(Q)UITを開始入力:9
 2が終了インデックスを入力し、(Q)UIT:18
 3  DEC BIN 10月HEX
 4 ---------------------- ----------------------
 5 9 0001001 9 11
 6 10000.101万12 7 11 0001011 13       B
 8 12 0001100 14       C
 9 13 0001101 15       D
 10 14 0001110 16       E
 11 15 0001111 17       F
 12 16 0010000 20 10
 1317 0010001 11 21
 14 18 22 12 0010010
 15 ---------------------------------------- ----
 16インデックスを開始、(Q)UITを入力:26
 17は、エンドインデックスを入力し、(Q)UIT:41
 18  DEC BIN 10月HEX ASCLL
 19 ----------------- ---------------------------
 20 26001.101万32       1A
 21 27 0011011 33       1B
 22 28 0011100 34       1C
 23 29 0011101 35       1D
 24 30 0011110 36       1E
 2531 0011111 37       1F
 26 32 0100000 40 20
 27 33 0100001 41 21 28 34010.001万42 22       "
 29 35 0100011 43 23       30 36 0100100 44 24       $
 31 37 0100101 45 25%
 32 38 0100110 46 26&
 33 39 0100111 47 27       '
 34 40 0101000 50 28 35 41 0101001 51 29 36 --------------------------------------------
 37インデックスを開始入力し、 (Q)の:

 

おすすめ

転載: www.cnblogs.com/mrlayfolk/p/12000650.html