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