100 個 Python 小例子(練習題二)

實例031:字母識詞

題目:

請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。

程序分析:這裡用字典的形式直接將對照關系存好。

weekT={'h':'thursday',
       'u':'tuesday'}
weekS={'a':'saturday',
       'u':'sunday'}
week={'t':weekT,
      's':weekS,
      'm':'monday',
      'w':'wensday',
      'f':'friday'}
a=week[str(input('請輸入第一位字母:')).lower()]
if a==weekT or a==weekS:
    print(a[str(input('請輸入第二位字母:')).lower()])
else:
    print(a)

實例032:反向輸出II

題目:

按相反的順序輸出列表的值。

a = ['one', 'two', 'three']
print(a[::-1])

實例033:列表轉字符串

題目:

按逗號分隔列表。

L = [1,2,3,4,5]
print(','.join(str(n) for n in L))


實例034:調用函數

題目:

練習函數調用。

def hello():
    print('Hello World!')
def helloAgain():
    for i in range(2):
        hello()

if __name__=='__main__':
    helloAgain()

實例035:設置輸出顏色

題目:

文本顏色設置。

class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'
print(bcolors.WARNING + "警告的顏色字體?" + bcolors.ENDC)

實例036:算素數

題目:

求100之內的素數。

程序分析:else執行for循環的獎勵代碼(如果for是正常完結,非break)。

lo=int(input('下限:'))
hi=int(input('上限:'))
for i in range(lo,hi+1):
    if i > 1:
        for j in range(2,i):
            if (i % j) == 0:
                break
        else:
            print(i)

實例037:排序

題目:

對10個數進行排序。

程序分析:同實例005。

raw=[]
for i in range(10):
    x=int(input('int%d: '%(i)))
    raw.append(x)

for i in range(len(raw)):
    for j in range(i,len(raw)):
        if raw[i]>raw[j]:
            raw[i],raw[j]=raw[j],raw[i]
print(raw)

實例038:矩陣對角線之和

題目:

求一個3*3矩陣主對角線元素之和。

mat=[[1,2,3],
     [3,4,5],
     [4,5,6]
    ]
res=0
for i in range(len(mat)):
    res+=mat[i][i]
print(res)

實例039:有序列表插入元素

題目:

有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。

程序分析:首先判斷此數是否大於最後一個數,然後再考慮插入中間的數的情況,插入後此元素之後的數,依次後移一個位置。

lis=[1,10,100,1000,10000,100000]
n=int(input('insert a number: '))
lis.append(n)
for i in range(len(lis)-1):
    if lis[i]>=n:
        for j in range(i,len(lis)):
            lis[j],lis[-1]=lis[-1],lis[j]
        break
print(lis)

實例040:逆序列表

題目:

將一個數組逆序輸出。

程序分析:依次交換位置,或者直接調用reverse方法。

lis=[1,10,100,1000,10000,100000]
for i in range(int(len(lis)/2)):
    lis[i],lis[len(lis)-1-i]=lis[len(lis)-1-i],lis[i]
print('第一種實現:')
print(lis)


lis=[1,10,100,1000,10000,100000]
print('第二種實現:')
lis.reverse()
print(lis)

實例041:類的方法與變量

題目:

模仿靜態變量的用法。

程序分析:構造類,瞭解類的方法與變量。

def dummy():
    i=0
    print(i)
    i+=1

class cls:
    i=0
    def dummy(self):
        print(self.i)
        self.i+=1

a=cls()
for i in range(50):
    dummy()
    a.dummy()

實例042:變量作用域

題目:

學習使用auto定義變量的用法。

程序分析:python中的變量作用域。

i=0
n=0
def dummy():
    i=0
    print(i)
    i+=1
def dummy2():
    global n
    print(n)
    n+=1
print('函數內部的同名變量')
for j in range(20):
    print(i)
    dummy()
    i+=1
print('global聲明同名變量')
for k in range(20):
    print(n)
    dummy2()
    n+=10

實例043:作用域、類的方法與變量

題目:

模仿靜態變量(static)另一案例。

程序分析:綜合實例041和實例042。

class dummy:
    num=1
    def Num(self):
        print('class dummy num:',self.num)
        print('global num: ',num)
        self.num+=1

n=dummy()
num=1
for i in range(5):
    num*=10
    n.Num()

實例044:矩陣相加

題目:

計算兩個矩陣相加。

程序分析:創建一個新的矩陣,使用 for 迭代並取出 X 和 Y 矩陣中對應位置的值,相加後放到新矩陣的對應位置中。

X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]

Y = [[5,8,1],
    [6,7,3],
    [4,5,9]]

res=[[0,0,0],
    [0,0,0],
    [0,0,0]]
for i in range(len(res)):
    for j in range(len(res[0])):
        res[i][j]=X[i][j]+Y[i][j]
print(res)

實例045:求和

題目:

統計 1 到 100 之和。

res=0
for i in range(1,101):
    res+=i
print(res)


實例046:打破循環

題目:

求輸入數字的平方,如果平方運算後小於 50 則退出。

while True:
    try:
        n=float(input('輸入一個數字:'))
    except:
        print('輸入錯誤')
        continue
    dn=n**2
    print('其平方為:',dn)
    if dn<50:
        print('平方小於50,退出')
        break

實例047:函數交換變量

題目:

兩個變量值用函數互換。

def exc(a,b):
    return (b,a)
a=0
b=10
a,b=exc(a,b)
print(a,b)

實例048:數字比大小

題目:

數字比較。

a=int(input('a='))
b=int(input('b='))
if a<b:
    print('a<b')
elif a>b:
    print('a>b')
else:
    print('a=b')


實例049:lambda

題目:

使用lambda來創建匿名函數。

Max=lambda x,y:x*(x>=y)+y*(y>x)
Min=lambda x,y:x*(x<=y)+y*(y<x)

a=int(input('1:'))
b=int(input('2:'))

print(Max(a,b))
print(Min(a,b))

實例050:隨機數

題目:

輸出一個隨機數。

程序分析:使用 random 模塊。

import random
print(random.uniform(10,20))

到此這篇關於100 個 Python 小例子的文章就介紹到這瞭,更多相關 Python 小例子內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: