100 個 Python 小例子(練習(xí)題二)
實例031:字母識詞
題目:
請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù)判斷第二個字母。
程序分析:這里用字典的形式直接將對照關(guān)系存好。
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:列表轉(zhuǎn)字符串
題目:
按逗號分隔列表。
L = [1,2,3,4,5] print(','.join(str(n) for n in L))
實例034:調(diào)用函數(shù)
題目:
練習(xí)函數(shù)調(diào)用。
def hello(): print('Hello World!') def helloAgain(): for i in range(2): hello() if __name__=='__main__': helloAgain()
實例035:設(shè)置輸出顏色
題目:
文本顏色設(shè)置。
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:算素數(shù)
題目:
求100之內(nèi)的素數(shù)。
程序分析:用else
執(zhí)行for
循環(huán)的獎勵代碼(如果for是正常完結(jié),非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個數(shù)進行排序。
程序分析:同實例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:有序列表插入元素
題目:
有一個已經(jīng)排好序的數(shù)組。現(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入數(shù)組中。
程序分析:首先判斷此數(shù)是否大于最后一個數(shù),然后再考慮插入中間的數(shù)的情況,插入后此元素之后的數(shù),依次后移一個位置。
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:逆序列表
題目:
將一個數(shù)組逆序輸出。
程序分析:依次交換位置,或者直接調(diào)用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('第一種實現(xiàn):') print(lis) lis=[1,10,100,1000,10000,100000] print('第二種實現(xiàn):') lis.reverse() print(lis)
實例041:類的方法與變量
題目:
模仿靜態(tài)變量的用法。
程序分析:構(gòu)造類,了解類的方法與變量。
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:變量作用域
題目:
學(xué)習(xí)使用auto定義變量的用法。
程序分析:python
中的變量作用域。
i=0 n=0 def dummy(): i=0 print(i) i+=1 def dummy2(): global n print(n) n+=1 print('函數(shù)內(nèi)部的同名變量') for j in range(20): print(i) dummy() i+=1 print('global聲明同名變量') for k in range(20): print(n) dummy2() n+=10
實例043:作用域、類的方法與變量
題目:
模仿靜態(tài)變量(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:矩陣相加
題目:
計算兩個矩陣相加。
程序分析:創(chuàng)建一個新的矩陣,使用 for 迭代并取出 X 和 Y 矩陣中對應(yīng)位置的值,相加后放到新矩陣的對應(yīng)位置中。
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:求和
題目:
統(tǒng)計 1 到 100 之和。
res=0 for i in range(1,101): res+=i print(res)
實例046:打破循環(huán)
題目:
求輸入數(shù)字的平方,如果平方運算后小于 50 則退出。
while True: try: n=float(input('輸入一個數(shù)字:')) except: print('輸入錯誤') continue dn=n**2 print('其平方為:',dn) if dn<50: print('平方小于50,退出') break
實例047:函數(shù)交換變量
題目:
兩個變量值用函數(shù)互換。
def exc(a,b): return (b,a) a=0 b=10 a,b=exc(a,b) print(a,b)
實例048:數(shù)字比大小
題目:
數(shù)字比較。
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來創(chuàng)建匿名函數(shù)。
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:隨機數(shù)
題目:
輸出一個隨機數(shù)。
程序分析:使用 random
模塊。
import random print(random.uniform(10,20))
到此這篇關(guān)于100 個 Python 小例子的文章就介紹到這了,更多相關(guān) Python 小例子內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。