Python學習筆記-DAY9
網路通訊就是兩個程序之間的通訊
使用SMTP傳送郵件
:
# -*- coding: utf-8 -*-
#-*-coding:utf-8-*-
#==========================================
# 匯入smtplib和MIMEText
#==========================================
from email.mime.text import MIMEText
import smtplib
#==========================================
# 要發給誰,這裡發給3個人
#==========================================
mailto_list=["[email protected]"]
#==========================================
# 設定伺服器,使用者名稱、口令以及郵箱的字尾
#==========================================
mail_host="smtp.qq.com"
mail_user="1262966556"
mail_pass="crilcpgkflanfhda"#qq要求授權碼,密碼不行,你要在手機發簡訊具體的上qq郵箱網站上看
mail_postfix="qq.com"
#==========================================
#
#==========================================
def send_mail(to_list,sub,content):
'''''
to_list:發給誰
sub:主題
content:內容
send_mail("[email protected]","主題","內容")
'''
me=mail_user+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content)
msg['Subject'] = sub
msg['From'] = me
msg[
try:
s = smtplib.SMTP_SSL(mail_host, 465)
s.set_debuglevel(1)
s.login(mail_user,mail_pass)
s.sendmail(me, to_list, msg.as_string())
s.close()
return True
except Exception, e:
print str(e)
return False
if __name__ == '__main__':
if send_mail(mailto_list,"lsw to 大比","大比"):
print "傳送成功"
else:
print "傳送失敗"
JSON(JavaScript Object Notation) 輕量級的資料交換格式
CGI(Commen Gateway Iterface) 通用路由介面
Python聯絡例項27:利用遞迴函式呼叫方式,將所輸入的5個字元,以相反順序打印出來。
# -*- coding: utf-8 -*- def output(s,l): if l==0: return print (s[l-1]) output(s,l-1) s=raw_input('Input a string') l=len(s) output(s,l)
Python聯絡例項28:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最後問第一個人,他說是10歲。請問第五個人多大?
# -*- coding: utf-8 -*- def age(n): if n==1: c=10 else: c=age(n-1)+2 return c print age(5)
Python聯絡例項29:給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字
# -*- coding: utf-8 -*- print 'input a number more than 10' n=input() x=str(n) print '一共',len(x),'位' for i in range(len(x)-1,-1,-1): print x[i],
# -*- coding: utf-8 -*- print 'input a number more than 10' n=input() x=str(n) for i in range(len(x)): print x[-i-1],
Python聯絡例項31:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。
# -*- coding: utf-8 -*- weeklist = {'M': 'Monday','T': {'u': 'Tuesday','h':'Thursday'}, 'W': 'Wednesday', 'F':'Friday','S':{'a':'Saturday','u':'Sunday'}} sLetter1 = raw_input("請輸入首字母:") sLetter1 = sLetter1.upper() if (sLetter1 in ['T','S']): sLetter2 = raw_input("請輸入第二個字母:") print(weeklist[sLetter1][sLetter2]) else: print(weeklist[sLetter1])
按逗號分隔列表。
# -*- coding: utf-8 -*- L = [1,2,3,4,5] s1 = ','.join(str(n) for n in L) print s1
有一個已經排好序的陣列。現輸入一個數,要求按原來的規律將它插入陣列中。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29]
b = input('輸入要插入的數字')
a.append(b)
c = a[:]
l = len(c)
# 從後面開始,如果比倒數第二個數大,那就將新加入的數填在倒數第一的位置,否則倒數第二的數位置後移
for i in range(l,0,-1):
if (b>c[i-2]):
c[i-1] =b
break
else:
c[i-1] = c[i-2]
print c
模仿靜態變數的用法。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def varfunc():
var = 0
print 'var = %d' % var
var += 1
if __name__ == '__main__':
for i in range(3):
varfunc()
# 類的屬性
# 作為類的一個屬性吧
class Static:
StaticVar = 5
def varfunc(self):
self.StaticVar += 1
print self.StaticVar
print Static.StaticVar
a = Static()
for i in range(3):
a.varfunc()
#!/usr/bin/python
# -*- coding: UTF-8 -*-
X = [[12, 7, 3],
[4, 5, 6],
[7, 8, 9]]
Y = [[5, 8, 1],
[6, 7, 3],
[4, 5, 9]]
result = [[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]
# 迭代輸出行
for i in range(len(X)):
# 迭代輸出列
for j in range(len(X[0])):
result[i][j] = X[i][j] + Y[i][j]
for r in result:
print(r)
畫圖,學用circle畫圓形。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
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(0, 26):
canvas.create_oval(310 - k, 250 - k, 310 + k, 250 + k, width=1)#(x0,y0,x1,y1,線的寬度)
k += j
j += 0.3
mainloop()