實(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)系刪除。