1. 程式人生 > >Programing in Python3(Second Edition)_實例

Programing in Python3(Second Edition)_實例

.com input exc 實用 ive 就是 bubuko 前言 最大

Programming in Python3 (Second Edition)實例

  • 前言:在學習Python的過程中推薦一本書,《Programming in Python3 》也就是我以前用過的。推薦理由是這本書講的很全面很詳細,有一些非常實用的實例可以提供給讀者學習,學完以後不僅知道會怎麽用,還會知道Python代碼在系統底層是怎麽實現的。最後一點,這本書出版時間比較新,內容也跟得上潮流。以前我把這本書熟讀了一遍之後但是沒有把後面的實例在編譯器上實現,先來補上。以下就是每一章節的實例代碼和成功運行之後的效果截圖。

Chapter One

#bigdigits.py 41072819
import sys
#coding:utf-8
Zero=[‘*****‘,‘*   *‘,‘*   *‘,‘*   *‘,‘*   *‘,‘*   *‘,‘*****‘]
One=[‘  *  ‘,‘ **  ‘,‘* *  ‘,‘  *  ‘,‘  *  ‘,‘  *  ‘,‘*****‘]
Two=[‘*****‘,‘    *‘,‘    *‘,‘*****‘,‘*    ‘,‘*    ‘,‘*****‘]
Three=[‘*****‘,‘    *‘,‘    *‘,‘*****‘,‘    *‘,‘    *‘,‘*****‘]
Four=[‘  *  ‘,‘ **  ‘,‘* *  ‘,‘*****‘,‘  *  ‘,‘  *  ‘,‘  *  ‘]
Five=[‘*****‘,‘*    ‘,‘*    ‘,‘*****‘,‘    *‘,‘    *‘,‘*****‘]
Six=[‘*****‘,‘*    ‘,‘*    ‘,‘*****‘,‘*   *‘,‘*   *‘,‘*****‘]
Seven=[‘*****‘,‘    *‘,‘    *‘,‘   * ‘,‘  *  ‘,‘ *   ‘,‘*    ‘]
Eight=[‘*****‘,‘*   *‘,‘*   *‘,‘*****‘,‘*   *‘,‘*   *‘,‘*****‘]
Nine=[‘*****‘,‘*   *‘,‘*   *‘,‘*****‘,‘    *‘,‘    *‘,‘*****‘]
Digits=[Zero,One,Two,Three,Four,Five,Six,Seven,Eight,Nine]#列表多層嵌套
try:
    digits=input("please input your number:")#讀入數字
    row=0
    while row<7:
        line=""
        column=0
        while column<len(digits):#確定有幾位數字
            number=int(digits[column])#讀取第一個數字,如果輸入的是浮點數進行強制轉換
            digit=Digits[number]#第一個數字對應在Digits列表中的元素
            line+=digit[row]+" "
            """對第一個數字列表的第一個元素賦給line ,每一次循環都對下一個數字列表的第一個元素進行
            添加賦值給line,每個不同數字列表中的元素之間兩個空格
    """
            column+=1
        print(line)
        row+=1
except ValueError as err:#如果用戶輸入錯誤的值進行異常處理,打印err
    print(err)

技術分享圖片

#生成隨機數的網格
import random

def get_int(msg,minimum,default):#輸入
    while True:
        try:
            line=input(msg)
            if not line and default is not None:
                return default
            i=int(line)
            if i<minimum:
                print("must be>=",minimum)
            else:
                return i
        except ValueError as err:
            print(err)

rows=get_int("rows:",1,None)
columns=get_int("columns:",1,None)
minimum=get_int("minimum(or Enter for 0);",-10000,0)
#最大值的默認值為1000如果輸入的數大於1000,默認值為兩倍的minimum
default=1000
if default<=minimum:
    default=2*minimum
maximum=get_int("maximum(or Enter for "+str(default)+"):",minimum,default)
#雙層循環輸出行和列的數字
row=0   
while row<rows:
    line=""
    column=0
    while column<columns:
        i=random.randint(minimum,maximum)
        s=str(i)
        s+=" "
        line+=s
        column+=1
    print(line)
    row+=1

技術分享圖片


2018/8/10 13:27:27

Programing in Python3(Second Edition)_實例