1. 程式人生 > >Python學習筆記-DAY9

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[
'To'] = ";".join(to_list)
 
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) 輕量級的資料交換格式

CGICommen 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()