100 個 Python 小例子(基于 Python3)下篇

實(shí)例051:按位與

題目:學(xué)習(xí)使用按位與 & 。

程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1。

a=0o77

print(a)

b=a&3

print(b)

b=b&7

print(b)

復(fù)制代碼

實(shí)例052:按位或

題目:學(xué)習(xí)使用按位或 | 。

程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1

a=0o77

print(a|3)

print(a|3|7)

復(fù)制代碼

實(shí)例053:按位異或

題目:學(xué)習(xí)使用按位異或 ^ 。

程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0

a=0o77

print(a^3)

print(a^3^7)

復(fù)制代碼

實(shí)例054:位取反、位移動

????

如果大家在學(xué)習(xí)中遇到困難,想找一個python學(xué)習(xí)交流環(huán)境,可以加入我們的python圈,裙號930900780,可領(lǐng)取python學(xué)習(xí)資料,會節(jié)約很多時間,減少很多遇到的難題。

題目:取一個整數(shù)a從右端開始的4?7位。

程序分析:可以這樣考慮: (1)先使a右移4位。 (2)設(shè)置一個低4位全為1,其余全為0的數(shù)。可用~(~0<<4) (3)將上面二者進(jìn)行&運(yùn)算。

a=int(input('輸入一個數(shù)字: '))

b=0? ? ? ? ? ? ? ? #? ? 0

b=~b? ? ? ? ? ? ? ? #? ? 1

b=b<<4? ? ? ? ? ? ? # 10000

b=~b? ? ? ? ? ? ? ? #? 1111

c=a>>4

d=c&b

print('a:',bin(a))

print('b:',bin(b))

print('c:',bin(c))

print('d:',bin(d))

復(fù)制代碼

實(shí)例055:按位取反

題目:學(xué)習(xí)使用按位取反~。

程序分析:~0=1; ~1=0;

print(~234)

print(~~234)

復(fù)制代碼

實(shí)例056:畫圈

題目:畫圖,學(xué)用circle畫圓形。

程序分析:無。

from tkinter import *

canvas=Canvas(width=800,height=600,bg='yellow')

canvas.pack(expand=YES,fill=BOTH)

k=1

j=1

for i in range(26):

? ? canvas.create_oval(310-k,250-k,310+k,250+k,width=1)

? ? k+=j

? ? j+=0.3

mainloop()

復(fù)制代碼

實(shí)例057:畫線

題目:畫圖,學(xué)用line畫直線。

程序分析:無。

if __name__ == '__main__':

? ? from tkinter import *

? ? canvas = Canvas(width=300, height=300, bg='green')?

? ? canvas.pack(expand=YES, fill=BOTH)? ? ? ? ? ? ? ? ?

? ? x0 = 263

? ? y0 = 263

? ? y1 = 275

? ? x1 = 275

? ? for i in range(19):

? ? ? ? canvas.create_line(x0,y0,x0,y1, width=1, fill='red')

? ? ? ? x0 = x0 - 5

? ? ? ? y0 = y0 - 5

? ? ? ? x1 = x1 + 5

? ? ? ? y1 = y1 + 5

? ? x0 = 263

? ? y1 = 275

? ? y0 = 263

? ? for i in range(21):

? ? ? ? canvas.create_line(x0,y0,x0,y1,fill = 'red')

? ? ? ? x0 += 5

? ? ? ? y0 += 5

? ? ? ? y1 += 5

? ? mainloop()

復(fù)制代碼

實(shí)例058:畫矩形

題目:畫圖,學(xué)用rectangle畫方形。

程序分析:無。

if __name__ == '__main__':

? ? from tkinter import *

? ? root = Tk()

? ? root.title('Canvas')

? ? canvas = Canvas(root,width = 400,height = 400,bg = 'yellow')

? ? x0 = 263

? ? y0 = 263

? ? y1 = 275

? ? x1 = 275

? ? for i in range(19):

? ? ? ? canvas.create_rectangle(x0,y0,x1,y1)

? ? ? ? x0 -= 5

? ? ? ? y0 -= 5

? ? ? ? x1 += 5

? ? ? ? y1 += 5


? ? canvas.pack()

? ? root.mainloop()

復(fù)制代碼

實(shí)例059:畫圖(丑)

題目:畫圖,綜合例子。

程序分析:丑。

if __name__? == '__main__':

? ? from tkinter import *

? ? canvas = Canvas(width = 300,height = 300,bg = 'green')

? ? canvas.pack(expand = YES,fill = BOTH)

? ? x0 = 150

? ? y0 = 100

? ? canvas.create_oval(x0 - 10,y0 - 10,x0 + 10,y0 + 10)

? ? canvas.create_oval(x0 - 20,y0 - 20,x0 + 20,y0 + 20)

? ? canvas.create_oval(x0 - 50,y0 - 50,x0 + 50,y0 + 50)

? ? import math

? ? B = 0.809

? ? for i in range(16):

? ? ? ? a = 2 * math.pi / 16 * i

? ? ? ? x = math.ceil(x0 + 48 * math.cos(a))

? ? ? ? y = math.ceil(y0 + 48 * math.sin(a) * B)

? ? ? ? canvas.create_line(x0,y0,x,y,fill = 'red')

? ? canvas.create_oval(x0 - 60,y0 - 60,x0 + 60,y0 + 60)


? ? for k in range(501):

? ? ? ? for i in range(17):

? ? ? ? ? ? a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k

? ? ? ? ? ? x = math.ceil(x0 + 48 * math.cos(a))

? ? ? ? ? ? y = math.ceil(y0 + 48 + math.sin(a) * B)

? ? ? ? ? ? canvas.create_line(x0,y0,x,y,fill = 'red')

? ? ? ? for j in range(51):

? ? ? ? ? ? a = (2 * math.pi / 16) * i + (2* math.pi / 180) * k - 1

? ? ? ? ? ? x = math.ceil(x0 + 48 * math.cos(a))

? ? ? ? ? ? y = math.ceil(y0 + 48 * math.sin(a) * B)

? ? ? ? ? ? canvas.create_line(x0,y0,x,y,fill = 'red')

? ? mainloop()

復(fù)制代碼

實(shí)例060:字符串長度

題目:計算字符串長度。

程序分析:無。

s='zhangguang101'

print(len(s))

復(fù)制代碼

實(shí)例061:楊輝三角

題目:打印出楊輝三角形前十行。

程序分析:無。

def generate(numRows):

? ? r = [[1]]

? ? for i in range(1,numRows):

? ? ? ? r.append(list(map(lambda x,y:x+y, [0]+r[-1],r[-1]+[0])))

? ? return r[:numRows]

a=generate(10)

for i in a:

? ? print(i)

復(fù)制代碼

實(shí)例062:查找字符串

題目:查找字符串。

程序分析:無。

s1='aabbxuebixuebi'

s2='ab'

s3='xue'

print(s1.find(s2))

print(s1.find(s3))

復(fù)制代碼

實(shí)例063:畫橢圓

題目:畫橢圓。

程序分析:使用 tkinter。

if __name__ == '__main__':

? ? from tkinter import *

? ? x = 360

? ? y = 160

? ? top = y - 30

? ? bottom = y - 30


? ? canvas = Canvas(width = 400,height = 600,bg = 'white')

? ? for i in range(20):

? ? ? ? canvas.create_oval(250 - top,250 - bottom,250 + top,250 + bottom)

? ? ? ? top -= 5

? ? ? ? bottom += 5

? ? canvas.pack()

? ? mainloop()

復(fù)制代碼

實(shí)例64:畫橢圓、矩形

題目:利用ellipse 和 rectangle 畫圖。。

程序分析:無。

if __name__ == '__main__':

? ? from tkinter import *

? ? canvas = Canvas(width = 400,height = 600,bg = 'white')

? ? left = 20

? ? right = 50

? ? top = 50

? ? num = 15

? ? for i in range(num):

? ? ? ? canvas.create_oval(250 - right,250 - left,250 + right,250 + left)

? ? ? ? canvas.create_oval(250 - 20,250 - top,250 + 20,250 + top)

? ? ? ? canvas.create_rectangle(20 - 2 * i,20 - 2 * i,10 * (i + 2),10 * ( i + 2))

? ? ? ? right += 5

? ? ? ? left += 5

? ? ? ? top += 10

? ? canvas.pack()

? ? mainloop()

復(fù)制代碼

實(shí)例065:畫組合圖形

題目:一個最優(yōu)美的圖案。

程序分析:無。

import math

from tkinter import *

class PTS:

? ? def __init__(self):

? ? ? ? self.x = 0

? ? ? ? self.y = 0

points = []

def LineToDemo():

? ? screenx = 400

? ? screeny = 400

? ? canvas = Canvas(width = screenx,height = screeny,bg = 'white')

? ? AspectRatio = 0.85

? ? MAXPTS = 15

? ? h = screeny

? ? w = screenx

? ? xcenter = w / 2

? ? ycenter = h / 2

? ? radius = (h - 30) / (AspectRatio * 2) - 20

? ? step = 360 / MAXPTS

? ? angle = 0.0

? ? for i in range(MAXPTS):

? ? ? ? rads = angle * math.pi / 180.0

? ? ? ? p = PTS()

? ? ? ? p.x = xcenter + int(math.cos(rads) * radius)

? ? ? ? p.y = ycenter - int(math.sin(rads) * radius * AspectRatio)

? ? ? ? angle += step

? ? ? ? points.append(p)

? ? canvas.create_oval(xcenter - radius,ycenter - radius,

? ? ? ? ? ? ? ? ? ? ? xcenter + radius,ycenter + radius)

? ? for i in range(MAXPTS):

? ? ? ? for j in range(i,MAXPTS):

? ? ? ? ? ? canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y)

? ? canvas.pack()

? ? mainloop()

if __name__ == '__main__':

? ? LineToDemo()

復(fù)制代碼

實(shí)例066:三數(shù)排序

題目:輸入3個數(shù)a,b,c,按大小順序輸出。

程序分析:同實(shí)例005。

raw=[]

for i in range(3):

? ? 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)

raw2=[]

for i in range(3):

? ? x=int(input('int%d: '%(i)))

? ? raw2.append(x)

print(sorted(raw2))

復(fù)制代碼

實(shí)例067:交換位置

題目:輸入數(shù)組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數(shù)組。

程序分析:無。

li=[3,2,5,7,8,1,5]

li[-1],li[li.index(min(li))]=li[li.index(min(li))],li[-1]

m=li[0]

ind=li.index(max(li))

li[0]=li[ind]

li[ind]=m

print(li)

復(fù)制代碼

實(shí)例068:旋轉(zhuǎn)數(shù)列

題目:有n個整數(shù),使其前面各數(shù)順序向后移m個位置,最后m個數(shù)變成最前面的m個數(shù)

程序分析:無。

from collections import *

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

deq=deque(li,maxlen=len(li))

print(li)

deq.rotate(int(input('rotate:')))

print(list(deq))

復(fù)制代碼

實(shí)例069:報數(shù)

題目:有n個人圍成一圈,順序排號。從第一個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。

程序分析:無。

if __name__ == '__main__':

? ? nmax = 50

? ? n = int(input('請輸入總?cè)藬?shù):'))

? ? num = []

? ? for i in range(n):

? ? ? ? num.append(i + 1)

? ? i = 0

? ? k = 0

? ? m = 0

? ? while m < n - 1:

? ? ? ? if num[i] != 0 : k += 1

? ? ? ? if k == 3:

? ? ? ? ? ? num[i] = 0

? ? ? ? ? ? k = 0

? ? ? ? ? ? m += 1

? ? ? ? i += 1

? ? ? ? if i == n : i = 0

? ? i = 0

? ? while num[i] == 0: i += 1

? ? print(num[i])

復(fù)制代碼

實(shí)例070:字符串長度II

題目:寫一個函數(shù),求一個字符串的長度,在main函數(shù)中輸入字符串,并輸出其長度。

程序分析:無。

def lenofstr(s):

? ? return len(s)

print(lenofstr('tanxiaofengsheng'))

復(fù)制代碼

實(shí)例071:輸入和輸出

題目:編寫input()和output()函數(shù)輸入,輸出5個學(xué)生的數(shù)據(jù)記錄。

程序分析:無。

N = 3

#stu

# num : string

# name : string

# score[4]: list

student = []

for i in range(5):

? ? student.append(['','',[]])

def input_stu(stu):

? ? for i in range(N):

? ? ? ? stu[i][0] = input('input student num:\n')

? ? ? ? stu[i][1] = input('input student name:\n')

? ? ? ? for j in range(3):

? ? ? ? ? ? stu[i][2].append(int(input('score:\n')))

def output_stu(stu):

? ? for i in range(N):

? ? ? ? print ('%-6s%-10s' % ( stu[i][0],stu[i][1] ))

? ? ? ? for j in range(3):

? ? ? ? ? ? print ('%-8d' % stu[i][2][j])

if __name__ == '__main__':

? ? input_stu(student)

? ? print (student)

? ? output_stu(student)

復(fù)制代碼

實(shí)例072:創(chuàng)建鏈表

題目:創(chuàng)建一個鏈表。

程序分析:原文不太靠譜。

class Node:

? ? def __init__(self, data):

? ? ? ? self.data = data

? ? ? ? self.next = None

? ? def get_data(self):

? ? ? ? return self.data

class List:

? ? def __init__(self, head):

? ? ? ? self.head = head

? ? def is_empty(self):

? ? ? ? return self.get_len() == 0

? ? def get_len(self):?

? ? ? ? length = 0

? ? ? ? temp = self.head

? ? ? ? while temp is not None:

? ? ? ? ? ? length += 1

? ? ? ? ? ? temp = temp.next

? ? ? ? return length

? ? def append(self, node):

? ? ? ? temp = self.head

? ? ? ? while temp.next is not None:

? ? ? ? ? ? temp = temp.next

? ? ? ? temp.next = node

? ? def delete(self, index):

? ? ? ? if index < 1 or index > self.get_len():

? ? ? ? ? ? print("給定位置不合理")

? ? ? ? ? ? return

? ? ? ? if index == 1:

? ? ? ? ? ? self.head = self.head.next

? ? ? ? ? ? return

? ? ? ? temp = self.head

? ? ? ? cur_pos = 0

? ? ? ? while temp is not None:

? ? ? ? ? ? cur_pos += 1

? ? ? ? ? ? if cur_pos == index-1:

? ? ? ? ? ? ? ? temp.next = temp.next.next

? ? ? ? ? ? temp = temp.next

? ? def insert(self, pos, node):

? ? ? ? if pos < 1 or pos > self.get_len():

? ? ? ? ? ? print("插入結(jié)點(diǎn)位置不合理")

? ? ? ? ? ? return

? ? ? ? temp = self.head

? ? ? ? cur_pos = 0

? ? ? ? while temp is not Node:

? ? ? ? ? ? cur_pos += 1

? ? ? ? ? ? if cur_pos == pos-1:

? ? ? ? ? ? ? ? node.next = temp.next

? ? ? ? ? ? ? ? temp.next =node

? ? ? ? ? ? ? ? break

? ? ? ? ? ? temp = temp.next

? ? def reverse(self, head):

? ? ? ? if head is None and head.next is None:

? ? ? ? ? ? return head

? ? ? ? pre = head

? ? ? ? cur = head.next

? ? ? ? while cur is not None:

? ? ? ? ? ? temp = cur.next

? ? ? ? ? ? cur.next = pre

? ? ? ? ? ? pre = cur

? ? ? ? ? ? cur = temp

? ? ? ? head.next = None

? ? ? ? return pre

? ? def print_list(self, head):

? ? ? ? init_data = []

? ? ? ? while head is not None:

? ? ? ? ? ? init_data.append(head.get_data())

? ? ? ? ? ? head = head.next

? ? ? ? return init_data

if __name__=='__main__':

? ? head=Node('head')

? ? link=List(head)

? ? for i in range(10):

? ? ? ? node=Node(i)

? ? ? ? link.append(node)

? ? print(link.print_list(head))

復(fù)制代碼

實(shí)例073:反向輸出鏈表

題目:反向輸出一個鏈表。

程序分析:無。

class Node:

? ? def __init__(self, data):

? ? ? ? self.data = data

? ? ? ? self.next = None

? ? def get_data(self):

? ? ? ? return self.data

class List:

? ? def __init__(self, head):

? ? ? ? self.head = head

? ? def is_empty(self):

? ? ? ? return self.get_len() == 0

? ? def get_len(self):?

? ? ? ? length = 0

? ? ? ? temp = self.head

? ? ? ? while temp is not None:

? ? ? ? ? ? length += 1

? ? ? ? ? ? temp = temp.next

? ? ? ? return length

? ? def append(self, node):

? ? ? ? temp = self.head

? ? ? ? while temp.next is not None:

? ? ? ? ? ? temp = temp.next

? ? ? ? temp.next = node

? ? def delete(self, index):

? ? ? ? if index < 1 or index > self.get_len():

? ? ? ? ? ? print("給定位置不合理")

? ? ? ? ? ? return

? ? ? ? if index == 1:

? ? ? ? ? ? self.head = self.head.next

? ? ? ? ? ? return

? ? ? ? temp = self.head

? ? ? ? cur_pos = 0

? ? ? ? while temp is not None:

? ? ? ? ? ? cur_pos += 1

? ? ? ? ? ? if cur_pos == index-1:

? ? ? ? ? ? ? ? temp.next = temp.next.next

? ? ? ? ? ? temp = temp.next

? ? def insert(self, pos, node):

? ? ? ? if pos < 1 or pos > self.get_len():

? ? ? ? ? ? print("插入結(jié)點(diǎn)位置不合理")

? ? ? ? ? ? return

? ? ? ? temp = self.head

? ? ? ? cur_pos = 0

? ? ? ? while temp is not Node:

? ? ? ? ? ? cur_pos += 1

? ? ? ? ? ? if cur_pos == pos-1:

? ? ? ? ? ? ? ? node.next = temp.next

? ? ? ? ? ? ? ? temp.next =node

? ? ? ? ? ? ? ? break

? ? ? ? ? ? temp = temp.next

? ? def reverse(self, head):

? ? ? ? if head is None and head.next is None:

? ? ? ? ? ? return head

? ? ? ? pre = head

? ? ? ? cur = head.next

? ? ? ? while cur is not None:

? ? ? ? ? ? temp = cur.next

? ? ? ? ? ? cur.next = pre

? ? ? ? ? ? pre = cur

? ? ? ? ? ? cur = temp

? ? ? ? head.next = None

? ? ? ? return pre

? ? def print_list(self, head):

? ? ? ? init_data = []

? ? ? ? while head is not None:

? ? ? ? ? ? init_data.append(head.get_data())

? ? ? ? ? ? head = head.next

? ? ? ? return init_data

if __name__=='__main__':

? ? head=Node('head')

? ? link=List(head)

? ? for i in range(10):

? ? ? ? node=Node(i)

? ? ? ? link.append(node)

? ? print(link.print_list(head))

? ? print(link.print_list(link.reverse(head)))

復(fù)制代碼

實(shí)例074:列表排序、連接

題目:列表排序及連接。

程序分析:排序可使用 sort() 方法,連接可以使用 + 號或 extend() 方法。

a=[2,6,8]

b=[7,0,4]

a.extend(b)

a.sort()

print(a)

復(fù)制代碼

實(shí)例075:不知所云

題目:放松一下,算一道簡單的題目。

程序分析:鬼知道是什么。

if __name__ == '__main__':

? ? for i in range(5):

? ? ? ? n = 0

? ? ? ? if i != 1: n += 1

? ? ? ? if i == 3: n += 1

? ? ? ? if i == 4: n += 1

? ? ? ? if i != 4: n += 1

? ? ? ? if n == 3: print (64 + i)

復(fù)制代碼

實(shí)例076:做函數(shù)

題目:編寫一個函數(shù),輸入n為偶數(shù)時,調(diào)用函數(shù)求1/2+1/4+...+1/n,當(dāng)輸入n為奇數(shù)時,調(diào)用函數(shù)1/1+1/3+...+1/n

程序分析:無。

def peven(n):

? ? i = 0

? ? s = 0.0

? ? for i in range(2,n + 1,2):

? ? ? ? s += 1.0 / i

? ? return s

def podd(n):

? ? s = 0.0

? ? for i in range(1, n + 1,2):

? ? ? ? s += 1.0 / i

? ? return s

def dcall(fp,n):

? ? s = fp(n)

? ? return s

if __name__ == '__main__':

? ? n = int(input('input a number: '))

? ? if n % 2 == 0:

? ? ? ? sum = dcall(peven,n)

? ? else:

? ? ? ? sum = dcall(podd,n)

? ? print (sum)

復(fù)制代碼

實(shí)例077:遍歷列表

題目:循環(huán)輸出列表

程序分析:無。

l=['moyu','niupi','xuecaibichi','shengfaji','42']

for i in range(len(l)):

? ? print(l[i])

復(fù)制代碼

實(shí)例078:字典

題目:找到年齡最大的人,并輸出。請找出程序中有什么問題。

程序分析:無。

if __name__ == '__main__':

? ? person = {"li":18,"wang":50,"zhang":20,"sun":22}

? ? m = 'li'

? ? for key in person.keys():

? ? ? ? if person[m] < person[key]:

? ? ? ? ? ? m = key

? ? print ('%s,%d' % (m,person[m]))

復(fù)制代碼

實(shí)例079:字符串排序

題目:字符串排序。

程序分析:無。

l=['baaa','aaab','aaba','aaaa','abaa']

l.sort()

print(l)

復(fù)制代碼

實(shí)例080:猴子分桃

題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子平均分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?

程序分析:無。

if __name__ == '__main__':

? ? i = 0

? ? j = 1

? ? x = 0

? ? while (i < 5) :

? ? ? ? x = 4 * j

? ? ? ? for i in range(0,5) :

? ? ? ? ? ? if(x%4 != 0) :

? ? ? ? ? ? ? ? break

? ? ? ? ? ? else :

? ? ? ? ? ? ? ? i += 1

? ? ? ? ? ? x = (x/4) * 5 +1

? ? ? ? j += 1

? ? print(x)

? ? for p in range(5):

? ? ? ? x=(x-1)/5*4

? ? print(x)

復(fù)制代碼

實(shí)例081:求未知數(shù)

題目:809??=800??+9?? 其中??代表的兩位數(shù), 809??為四位數(shù),8??的結(jié)果為兩位數(shù),9??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。

程序分析:無。

a = 809

for i in range(10,100):

? ? b = i * a

? ? if b >= 1000 and b <= 10000 and 8 * i < 100 and 9 * i >= 100:

? ? ? ? print(b,' = 800 * ', i, ' + 9 * ', i)

for i in range(10,100):

? ? if 8*i>99 or 9*i<100:

? ? ? ? continue

? ? if 809*i==800*i+9*i:

? ? ? ? print(i)

? ? ? ? break

復(fù)制代碼

實(shí)例082:八進(jìn)制轉(zhuǎn)十進(jìn)制

題目:八進(jìn)制轉(zhuǎn)換為十進(jìn)制

程序分析:無。

n=eval('0o'+str(int(input('八進(jìn)制輸入:'))))

print(n)

復(fù)制代碼

實(shí)例083:制作奇數(shù)

題目:求0—7所能組成的奇數(shù)個數(shù)。

程序分析:

組成1位數(shù)是4個。1,3,5,7結(jié)尾

組成2位數(shù)是7*4個。第一位不能為0

組成3位數(shù)是784個。中間隨意

組成4位數(shù)是788*4個。

if __name__ == '__main__':

? ? sum = 4

? ? s = 4

? ? for j in range(2,9):

? ? ? ? print (sum)

? ? ? ? if j <= 2:

? ? ? ? ? ? s *= 7

? ? ? ? else:

? ? ? ? ? ? s *= 8

? ? ? ? sum += s

? ? print('sum = %d' % sum)

復(fù)制代碼

實(shí)例084:連接字符串

題目:連接字符串。

程序分析:無。

delimiter = ','

mylist = ['Brazil', 'Russia', 'India', 'China']

print(delimiter.join(mylist))

復(fù)制代碼

實(shí)例085:整除

題目:輸入一個奇數(shù),然后判斷最少幾個 9 除于該數(shù)的結(jié)果為整數(shù)。

程序分析:999999 / 13 = 76923。

if __name__ == '__main__':

? ? zi = int(input('輸入一個數(shù)字:'))

? ? n1 = 1

? ? c9 = 1

? ? m9 = 9

? ? sum = 9

? ? while n1 != 0:

? ? ? ? if sum % zi == 0:

? ? ? ? ? ? n1 = 0

? ? ? ? else:

? ? ? ? ? ? m9 *= 10

? ? ? ? ? ? sum += m9

? ? ? ? ? ? c9 += 1

? ? print ('%d 個 9 可以被 %d 整除 : %d' % (c9,zi,sum))

? ? r = sum / zi

? ? print ('%d / %d = %d' % (sum,zi,r))

復(fù)制代碼

實(shí)例086:連接字符串II

題目:兩個字符串連接程序。

程序分析:無。

a='guangtou'

b='feipang'

print(b+a)

復(fù)制代碼

實(shí)例087:訪問類成員

題目:回答結(jié)果(結(jié)構(gòu)體變量傳遞)。

程序分析:無。

if __name__ == '__main__':

? ? class student:

? ? ? ? x = 0

? ? ? ? c = 0

? ? def f(stu):

? ? ? ? stu.x = 20

? ? ? ? stu.c = 'c'

? ? a= student()

? ? a.x = 3

? ? a.c = 'a'

? ? f(a)

? ? print(a.x,a.c)

復(fù)制代碼

實(shí)例088:打印星號

題目:讀取7個數(shù)(1—50)的整數(shù)值,每讀取一個值,程序打印出該值個數(shù)的*。

程序分析:無。

for i in range(3):

? ? print('*'*int(input('input a number: ')))

復(fù)制代碼

實(shí)例089:解碼

題目:某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。

程序分析:無。

n=input()

n = str(n)

a=[]

for i in range(4):

? ? a.append((int(n[i])+5)%10)

a[0],a[3]=a[3],a[0]

a[1],a[2]=a[2],a[1]

print ("".join('%s' %s for s in a))

復(fù)制代碼

實(shí)例090:列表詳解

題目:列表使用實(shí)例。

程序分析:無。

#list?

#新建列表?

testList=[10086,'中國移動',[1,2,4,5]]?


#訪問列表長度?

print (len(testList)? )

#到列表結(jié)尾?

print (testList[1:])

#向列表添加元素?

testList.append('i\'m new here!')?


print (len(testList)? )

print (testList[-1]? )

#彈出列表的最后一個元素?

print (testList.pop(1)? )

print (len(testList)? )

print (testList? )

#list comprehension?

#后面有介紹,暫時掠過?

matrix = [[1, 2, 3],?

[4, 5, 6],?

[7, 8, 9]]?

print (matrix? )

print (matrix[1]? )

col2 = [row[1] for row in matrix]#get a? column from a matrix?

print (col2? )

col2even = [row[1] for row in matrix if? row[1] % 2 == 0]#filter odd item?

print (col2even)

復(fù)制代碼

實(shí)例091:time模塊

?

題目:時間函數(shù)舉例1。

程序分析:無。

if __name__ == '__main__':

? ? import time

? ? print (time.ctime(time.time()))

? ? print (time.asctime(time.localtime(time.time())))

? ? print (time.asctime(time.gmtime(time.time())))

復(fù)制代碼

實(shí)例092:time模塊II

題目:時間函數(shù)舉例2。

程序分析:如何浪費(fèi)時間。

if __name__ == '__main__':

? ? import time

? ? start = time.time()

? ? for i in range(3000):

? ? ? ? print(i)

? ? end = time.time()

? ? print (end - start)

復(fù)制代碼

實(shí)例093:time模塊III

題目:時間函數(shù)舉例3。

程序分析:如何浪費(fèi)時間。

if __name__ == '__main__':

? ? import time

? ? start = time.clock()

? ? for i in range(100):

? ? ? ? print(i)

? ? end = time.clock()

? ? print('different is %6.3f' % (end - start))

復(fù)制代碼

實(shí)例094:time模塊IV

題目:時間函數(shù)舉例4。

程序分析:如何浪費(fèi)時間。

if __name__ == '__main__':

? ? import time

? ? import random


? ? play_it = input('do you want to play it.(\'y\' or \'n\')')

? ? while play_it == 'y':

? ? ? ? c = input('input a character:\n')

? ? ? ? i = random.randint(0,2**32) % 100

? ? ? ? print ('please input number you guess:\n')

? ? ? ? start = time.clock()

? ? ? ? a = time.time()

? ? ? ? guess = int(input('input your guess:\n'))

? ? ? ? while guess != i:

? ? ? ? ? ? if guess > i:

? ? ? ? ? ? ? ? print('please input a little smaller')

? ? ? ? ? ? ? ? guess = int(input('input your guess:\n'))

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? print('please input a little bigger')

? ? ? ? ? ? ? ? guess = int(input('input your guess:\n'))

? ? ? ? end = time.clock()

? ? ? ? b = time.time()

? ? ? ? var = (end - start) / 18.2

? ? ? ? print (var)

? ? ? ? # print 'It took you %6.3 seconds' % time.difftime(b,a))

? ? ? ? if var < 15:

? ? ? ? ? ? print ('you are very clever!')

? ? ? ? elif var < 25:

? ? ? ? ? ? print ('you are normal!')

? ? ? ? else:

? ? ? ? ? ? print ('you are stupid!')

? ? ? ? print ('Congradulations')

? ? ? ? print ('The number you guess is %d' % i)

? ? ? ? play_it = input('do you want to play it.')

復(fù)制代碼

實(shí)例095:轉(zhuǎn)換時間格式

題目:字符串日期轉(zhuǎn)換為易讀的日期格式。

程序分析:看看就得了,dateutil是個第三方庫。

from dateutil import parser

dt = parser.parse("Aug 28 2015 12:00AM")

print (dt)

復(fù)制代碼

實(shí)例096:計算復(fù)讀次數(shù)

題目:計算字符串中子串出現(xiàn)的次數(shù)。

程序分析:無。

s1='xuebixuebixuebixuebixuebixuebixuebixue'

s2='xuebi'

print(s1.count(s2))

復(fù)制代碼

實(shí)例097:磁盤寫入

題目:從鍵盤輸入一些字符,逐個把它們寫到磁盤文件上,直到輸入一個 # 為止。

程序分析:無。

if __name__ == '__main__':

? ? from sys import stdout

? ? filename = input('輸入文件名:\n')

? ? fp = open(filename,"w")

? ? ch = input('輸入字符串:\n')

? ? while ch != '#':

? ? ? ? fp.write(ch)

? ? ? ? stdout.write(ch)

? ? ? ? ch = input('')

? ? fp.close()

復(fù)制代碼

實(shí)例098:磁盤寫入II

?

題目:從鍵盤輸入一個字符串,將小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個磁盤文件"test"中保存。

程序分析:無。

if __name__ == '__main__':

? ? fp = open('test.txt','w')

? ? string = input('please input a string:\n')

? ? string = string.upper()

? ? fp.write(string)

? ? fp = open('test.txt','r')

? ? print (fp.read())

? ? fp.close()

復(fù)制代碼

實(shí)例099:磁盤讀寫

題目:有兩個磁盤文件A和B,各存放一行字母,要求把這兩個文件中的信息合并(按字母順序排列), 輸出到一個新文件C中。

程序分析:無。

i = ['a', 'b']

l = [1, 2]

print (dict(zip(i,l)))

復(fù)制代碼

實(shí)例100:列表轉(zhuǎn)字典

題目:列表轉(zhuǎn)換為字典。

程序分析:無。

i = ['a', 'b']

l = [1, 2]

print (dict(zip(i,l)))

復(fù)制代碼

原例為 Python2.7 版本,重寫過程中有不少是隨意發(fā)揮的,重寫運(yùn)行版本為 Python3.7,原例地址:python-100-examples。

最后多說一句,小編是一名python開發(fā)工程師,這里有我自己整理了一套最新的python系統(tǒng)學(xué)習(xí)教程。想要這些資料的可以進(jìn)q裙930900780領(lǐng)取。???????

本文章素材來源于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容