Python3開發隨記(2)實例

<碎碎念>python

今天在公司終於把jQuery搜索插件的功能寫完了,已經能實現同步GET提交查詢參數並正確顯示視圖,重構了三遍本身才以爲代碼湊合能看,和高手仍是有距離的,繼續努力吧。git

晚上繼續看Python3,邊看邊寫,開始。spa

</碎碎念>插件



Python3開發隨記(2)實例命令行

這一部分會寫一些小例子用來鞏固前一篇的基礎概念,順便看一些新的知識點code


程序一

目的:

命令行調用程序並捕獲命令行參數(一些數字),而後用星號的排列組合打印對應的數字orm


思路:

因爲文本是逐行打印的,因此咱們須要每行打印出每一個數字的部分星號,直到打完最後一行。開發

定義每一個星號數字時咱們統一排版,每一個數字寬5個字符,高7行。同步

代碼以下:it

import sys
Digits=[
      [ " *** ",
	"*   *",
	"*   *",
	"*   *",
	"*   *",
	"*   *",
	" *** "],
      [ "  *  ",
	" **  ",
	"  *  ",
	"  *  ",
	"  *  ",
	"  *  ",
	" *** "],
      [ " *** ",
	"*   *",
	"    *",
	"   * ",
	"  *  ",
	" *   ",
	"*****"],
      [ " *** ",
	"*   *",
	"    *",
	"  ** ",
	"    *",
	"*   *",
	" *** "],
      [ "    *",
	"   **",
	"  * *",
	" *  *",
	"*****",
	"    *",
	"    *"],
      [ " *** ",
	"*    ",
	"*    ",
	" *** ",
	"    *",
	"    *",
	" *** "],
      [ " *** ",
	"*    ",
	"*    ",
	"**** ",
	"*   *",
	"*   *",
	" *** "],
	["*****",
	"    *",
	"    *",
	"   * ",
	"  *  ",
	" *   ",
	"*    "],
       [" *** ",
	"*   *",
	"*   *",
	" *** ",
	"*   *",
	"*   *",
	" *** "],
      [ " *** ",
	"*   *",
	"*   *",
	" *** ",
	"    *",
	"    *",
	" *** "]
]

try:
    digits = sys.argv[1]
    row = 0
    while row<7:
        line = ""
        column=0
        while column<len(digits):
            number=int(digits[column])
            digit=Digits[number]
            line+=digit[row]+""
            column+=1
        print(line)
        row+=1
except IndexError:
	print("usage:bigdigits.py <number>")
except ValueError as err:
	print(err,"in",digits)

這樣就完成,實現方法就是逐行打印。這裏有個小技巧,咱們在Digits中定義星型數字時候,index等於0的星星數字就是零,以此類推,那麼咱們取數字的時候直接使用命令行傳進來的數字作index就能夠獲得星型數字陣列了。最外層的while循環是從0至6,表明從星型數字的1至7層。

看看結果:

小結:

參看代碼:

  1. 導入模塊=>import

  2. 使用sys模塊argv方法獲取命令行參數

  3. 異常捕獲的基本使用

         try:

               ...

         except <Some Error>:

               ...

  4. while循環


未完,待續......

相關文章
相關標籤/搜索