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!
推薦閱讀:
- Python名片管理系統+猜拳小遊戲案例實現彩(色控制臺版)
- Python 局部變量global詳解
- Python的數據類型與標識符和判斷語句詳解
- python進階從青銅到王者一定會用上的Python技巧
- Python 中的判斷語句,循環語句,函數