国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【學(xué)習(xí)筆記】用python做些事

wdzgege / 1362人閱讀

摘要:并返回合理錯誤提示。如果不在則再輸入密碼,成功則增加用戶信息到文件中,密碼進(jìn)行加密處理。作業(yè)增加用戶名,密碼的合法化判斷和錯誤提示。

課時5:字符串-基礎(chǔ) 切片,索引
s = "use python do somenthing

s[1],s[-1],s[1:3],s[1:6:2],s[1:],s[:-1],s[:]

spilt,join,[start:stop:step]
常用方法集合
"let us" + s, s*2 #字符串重復(fù)
s.upper()
s.find("pa")
s.replace("python","java")

print "%s like %s" %("we","python")

strip()    #返回去除兩側(cè)空格(不包括內(nèi)部)的字符串
轉(zhuǎn)義r""
s="C:
ewpython",print s,len(s)
r"
    #前綴字符串,不考慮轉(zhuǎn)義
s=r"C:
ewpython"
Unicode u""
coding:utf-8

課時6:字符串-re
import re

# Regular expression

re.match(p,text)
re.search(p,text)
re.findall(p,text)
re.split(p,text)
re.sub(p,s,text)

pattern = re.compile(p)
results = pattern.match(text)
整體模式

11個元字符:,^,$,.,|,?,*,(),[],{},
特殊含義:,.
可選:|,[]
重復(fù):*,+,?,{},(貪婪模式)
6個字符類:d,D,s,S,w,W
4個位置類:,B,A,,C^$)
分組:()
編譯選項:ILMSUX

^    start
$    end
.    except 

+    1-inf
*    0-inf
?    0-1
[]    or
{}    repeat
[^]   not

課時7 日期和時間 Datetime
日期:                Datetime.date.today()
日期和時間:           datetime.datetime.now()
1000天之后是哪一天:    datetime.timedelta(days=1000)
打印格式的問題:        Isoformat(),strtime()
字符串轉(zhuǎn)換:            strptime()
time
Datetime.time(12,11,30)

Time.time()    #實(shí)際時間
Time.clock()    #cpu時間
Time.sleep()    #以s為時間
import datetime
課時8 列表 切片,索引,引用
a = [1,2,3]
a_ref = a
a[2] = 100
常用操作
a_copy=a[:]
a.append(300)
a.insert(1,50)
a.pop()
a.sort()
a.reverse()
del a[1]
嵌套
b = [a,a_ref,a_copy]
c = [1,2,"123","abc"]

+,* Count(val)    #對某個元素計數(shù)(多態(tài)函數(shù))
元組 不可變的列表
(a,b,c)    #不能原處修改
常用操作
index 
count    #對某個元素計數(shù)
+,*
嵌套:    可嵌套可變的list
轉(zhuǎn)換:    tuple()
課時9 字典 Key-Value
dict = {"xiaoming":90,"xiaohong":80,"xioamao":60}
dict,zip
常用操作
Keys,values
Get
Update
Del
Clear
嵌套

散列表,沒有順序,適合插入,查詢操作

Key不一定是字符串,但一定是不可變對象(數(shù)字,字符串,元組)。

[(k,dict[k] for k ins sorted(dict,keys())]    #列表解析
sorted(dict.iteritems()key=lambda d:d[1],reverse=True)
再談引用和拷貝
#引用
L = [4,5,6]
X = L*4,Y = [L]*4
L[1] = 0
print X,Y


#淺拷貝
字典D.copy(),copy.copy(D)
列表L[:]

#深拷貝
copy.deepcopy(D)
#將兩個等長度的list合并成dict
text = "C++ python shell ruby java javascript c"
code_num = [38599,100931,26153,93142,84275,184220]

text_list = text.split(" ")
code_dict = dict(zip(text_list,code_num))


#get
a = code_dict.get("fortran",None)

#update,del,copy,clear
other_code = {"php":78014,"objective-c":34444}
code_dict.update(other_code)
del code_dict["c++"]

#sort key and value 列表解析
[(k,a_copy[k]) for k in sorted(a_copy.keys())]
課時10 文件
#常用操作

F = open(path,"r")    #返回對象為file-like object
                      #還可以是內(nèi)存,網(wǎng)絡(luò)等,r,w,a

F.read()
F.readline()
F.write()
F.close()

#中文支持
import codecs
f = codecs.open(filename,mode,encoding)

#文件操作
import os
os.path.exists(filename)
os.rename(old,new)
#Shelve庫
import shelve
D = Shelve.open(file)
D["name"]="newtext"
D.close()

#Pickle/cPickle
import cPickle
f = open(file,mode)
cPickle.dump(obj,f)
Obj = cPickle.load(f)
課時11 作業(yè)參考 11.1 驗證E-mail正則表達(dá)式

import re
text="aaa@163.com chu-tian-shu_1981@heibanke2015.com abc-fff@xfd.org ccc_fd2@fff.edu aaa@111 com"

print(re.findall(r"(w+[-w]*)@([a-zA-Z0-9]+).(com|org|edu)",text))
11.2 隨機(jī)函數(shù)

利用隨機(jī)函數(shù)產(chǎn)生一個用戶的用戶名,密碼,并利用文件將用戶名和密碼保存下來。

import random
charactor="abcdefghijklmnopqrstuvwxyz0123456789"

len_char = len(charactor)-1
# generate name
a=[0]*4
a[0]=charactor[random.randint(0,len_char)]
a[1]=charactor[random.randint(0,len_char)]
a[2]=charactor[random.randint(0,len_char)]
a[3]=charactor[random.randint(0,len_char)]

name="".join(a)

# generate password
a=[0]*6
a[0]=charactor[random.randint(0,len_char)]
a[1]=charactor[random.randint(0,len_char)]
a[2]=charactor[random.randint(0,len_char)]
a[3]=charactor[random.randint(0,len_char)]
a[4]=charactor[random.randint(0,len_char)]
a[5]=charactor[random.randint(0,len_char)]

password="".join(a)

#write file
f=open("a.txt","w")
f.write(name+","+password+"
")
f.close()
11.3 密碼加密

上面的文件中密碼沒有加密,不安全,請將文件內(nèi)容讀出后將密碼字段通過md5的庫處理后,再保存至另一個文件。

#md5加密數(shù)據(jù)庫
import hashlib
hashlib.md5(password).hexdigest()
11.4 公交車數(shù)據(jù)讀取,存入字典

#!/usr/bin/env python
# coding: utf-8
import codecs
import re
# read the file

# f=codecs.open("beijing_jt.csv","r","utf-8")
# read_list=[]
# read_tmp=f.readline()

# for i in range(0,39):
#    read_tmp=f.readline()
#    read_list.append(read_tmp)
    
# f.close()

f=codecs.open("beijing_jt.csv","r","utf-8")
read_tmp_total=f.readlines()
f.close()

# get linenum and stations information
s_tmp="".join(read_tmp_total[1:40])   #read_list
jt_info=s_tmp.split(",")

jt_stations = jt_info[-1].split("
 
")

print jt_info[1]

# convert stations info format
station_pattern = (r"(?P[0-9]+)s(?PD+)")

station_list = []
stations = re.findall(station_pattern,jt_info[-1]) 
for tmp in stations:
    print tmp[0],tmp[1].strip()
    station_list.append(tmp[1].strip())
    
print "-------------------------------------------------"

for tmp in jt_stations:
    stations = re.search(station_pattern,tmp.strip())
    print stations.group("number"),stations.group("name")

result={}
result[jt_info[1]]=station_list

print result
# coding: utf-8

import csv
import re 

csvfile = open("beijing_jt.csv","r")

reader = csv.reader(csvfile)
reader.next()

jt_info = reader.next()

print jt_info[1].decode("utf-8")
        
csvfile.close()

# convert stations info format
station_pattern = (r"(?P[0-9]+)s(?PD+)")
station_list = []

stations = re.findall(station_pattern,jt_info[-1].decode("utf-8")) 
for tmp in stations:
    print tmp[0],tmp[1].strip()
    station_list.append(tmp[1].strip())
    
result={}
result[jt_info[1]]=station_list

print result  

課時12 賦值,輸入輸出語句 賦值
a,b = 1,2
a,b = "bj","sh"
a,b = "bj"
a = b = "bj"
a,*b = "beijing"
a,b = (1,2)
a,b = [1,2]
+= 
輸入 input
raw_input()    #原始輸入
input()
輸出
#3.x
#函數(shù)
print([obj,...][,sep=""][,end="
"][,file=sys.stdout]

#2.x
#語句
print a,b
print >> file,a,b
print "%d,%d,%s"%(a,b,c)
print"{0}like{1}".format("we","python")
print"{a} like {b}".format(a="we",b="python")
課時13 if語句和for循環(huán)語句
#if

if xxx:statement1
elif xxx:statements2
else:statements3
#其他用法

#邏輯表達(dá)式
not/and/or
#三元表達(dá)式
a = y if x > 0 else z

#避免混用Tab和空格
#Pass
#分號
#換行:括號匹配和反斜線
#while/else

While xxx:
    statements1
    if xxx:break/continue
else:
    statements
#for/else
#列表,字符串,元組,字典,文件

for x on objects:
    statenments
    if xxx:break/continue
else:
    statements 2
課時14 列表解析和異常 列表解析

列表分析不但解決而且運(yùn)行速度較快。

用法

#去除列表中重復(fù)元素

l1 = ["b","c","d","b","c","a","a"]
l2 = []
[l2.append(i) for i in l1 if not in l2]
print l2

舉例

>>> iter=(x**2 for x in range(10) if x%2 == 0)
>>> iter
 at 0x02419CB0
>>> for el in iter:
        print el
        
print[(x,y) for x in (1,2,3,4) for y in (10,15,3,22) if x*y > 25] 
異常

用法

try/except                #try后語句有異常發(fā)生后執(zhí)行except
try/finally                #無論異常是否發(fā)生都執(zhí)行finally
raise error(meassage)    #觸發(fā)異常
Assert condition,message    #條件觸發(fā)錯誤,觸發(fā)后打印信息,并終止程序

舉例

a[1]    #NameError,a無定義
a = 2; a[1];    #TypeError,定義a為整數(shù),按List去訪問
a = [2];a[1];    #IndexError
a = {};a[1];    #KeyError

Raise IndexError
Assert False,"error occur,please check program"
課時15 猜數(shù)字

隨機(jī)產(chǎn)生要猜的數(shù)字

輸入,用于接收用戶輸入的數(shù)字

循環(huán),如果沒猜對則循環(huán)接收輸入,并打出提示信息

猜到數(shù)字或猜測次數(shù)達(dá)到一定次數(shù)后(6次)打印失敗并退出

# coding:utf-8


import random

secret = random.randint(1,100)
guess,tries = 0,0

print u"你好,我很幸運(yùn),我是一個路過的神仙,我有一個秘密"
print u"我的秘密是一個從1到99的數(shù)字,我只會給你6次機(jī)會來猜."
print u"如果你猜到它,那說明你很幸運(yùn),趕緊去買彩票吧!"

while guess != secret and tries <6:
    print u"你猜這個數(shù)字是多少?(1-100)"
    guess = input()
    if guess == secret:
        print u"哇~~,真的假的!你居然發(fā)現(xiàn)了我的秘密!它就是"
        break
    elif guess < secret:
        print str(guess),u"太小了,你還差點(diǎn)運(yùn)氣!"
    elif guess > secret:
        print str(guess),u"太大了,你還差點(diǎn)運(yùn)氣!"
    tries +=1

else:
    print u"你唯一的機(jī)會已被你用完了!看來你還需要再攢點(diǎn)人品!"
    print u"還是讓我告訴吧!這個數(shù)字:",str(secret)

問題:

輸入非數(shù)字

直接輸入secret(作弊模式)

作業(yè)3-1

改進(jìn)猜數(shù)字游戲,放作弊,錯誤輸入判斷

作業(yè)3-2

利用上次用戶密碼作業(yè),請模擬注冊過程:用戶輸入用戶名后進(jìn)行檢測用戶名是否在文件中的過程。并返回合理錯誤提示。如果不在則再輸入密碼,成功則增加用戶信息到文件中,密碼進(jìn)行md5加密處理。

作業(yè)3-3

增加用戶名,密碼的合法化判斷和錯誤提示。

用戶名:字母,數(shù)字,下劃線和橫線的組合,且首字符應(yīng)是字母,長度不小于4
密碼:字母,數(shù)字,下劃線和橫線的組合,且長度不小于6

作業(yè)3-4

循環(huán)上一課的公交系統(tǒng)作業(yè)

利用循環(huán)語句將所有線路的linenumstations保存到一個字典對象

執(zhí)行后提示輸入公交站名字,在所有公交線路的stations里查詢該名字,并將包含有該名字的公交線路存到一個字進(jìn)行返回。

課時16 3-1
# coding:utf-8

import random

secret = random.randint(1,100)
guess,tries = 0,0

print u"你好,我很幸運(yùn),我是一個路過的神仙,我有一個秘密"
print u"我的秘密是一個從1到99的數(shù)字,我只會給你6次機(jī)會來猜."
print u"如果你猜到它,那說明你很幸運(yùn),趕緊去買彩票吧!"

while guess != secret and tries <6:
    print u"你猜這個數(shù)字是多少?(1-100)"
    guess_str =raw_input()

    try:
        guess = int(guess_str)
    except:
        print u"你輸入的不是整數(shù),請重新輸入:"
        continue

    if guess == secret:
        print u"哇~~,真的假的!你居然發(fā)現(xiàn)了我的秘密!它就是"
        break
    elif guess < secret:
        print str(guess),u"太小了,你還差點(diǎn)運(yùn)氣!"
    elif guess > secret:
        print str(guess),u"太大了,你還差點(diǎn)運(yùn)氣!"
    tries +=1

else:
    print u"你唯一的機(jī)會已被你用完了!看來你還需要再攢點(diǎn)人品!"
    print u"還是讓我告訴吧!這個數(shù)字:",str(secret)
3-2
# coding:utf-8

import random

secret = random.randint(1,100)
guess,tries = 0,0

print u"你好,我很幸運(yùn),我是一個路過的神仙,我有一個秘密"
print u"我的秘密是一個從1到99的數(shù)字,我只會給你6次機(jī)會來猜."
print u"如果你猜到它,那說明你很幸運(yùn),趕緊去買彩票吧!"

while guess != secret and tries <6:
    print u"你猜這個數(shù)字是多少?(1-100)"
    guess_str =raw_input()

    try:
        guess = int(guess_str)
    except:
        print u"你輸入的不是整數(shù),請重新輸入:"
        continue

    if guess == secret:
        print u"哇~~,真的假的!你居然發(fā)現(xiàn)了我的秘密!它就是"
        break
    elif guess < secret:
        print str(guess),u"太小了,你還差點(diǎn)運(yùn)氣!"
    elif guess > secret:
        print str(guess),u"太大了,你還差點(diǎn)運(yùn)氣!"
    tries +=1

else:
    print u"你唯一的機(jī)會已被你用完了!看來你還需要再攢點(diǎn)人品!"
    print u"還是讓我告訴吧!這個數(shù)字:",str(secret)

課時16 作業(yè)參考

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/37860.html

相關(guān)文章

  • 編程書單:十本Python編程語言的入門書籍

    摘要:本文與大家分享一些編程語言的入門書籍,其中不乏經(jīng)典。全書貫穿的主體是如何思考設(shè)計開發(fā)的方法,而具體的編程語言,只是提供一個具體場景方便介紹的媒介。入門入門容易理解而且讀起來幽默風(fēng)趣,對于編程初學(xué)者和語言新手而言是理想的書籍。 本文與大家分享一些Python編程語言的入門書籍,其中不乏經(jīng)典。我在這里分享的,大部分是這些書的英文版,如果有中文版的我也加上了。有關(guān)書籍的介紹,大部分截取自是官...

    desdik 評論0 收藏0
  • 2018-某熊的技術(shù)之路: 做些有趣的產(chǎn)品

    摘要:某熊的技術(shù)之路做些有趣的產(chǎn)品年初的時候,我就在想,今年的主題詞是什么上半年考慮的較多的是所謂研發(fā)效能的提升,下半年卻漸漸發(fā)現(xiàn)自己更多的會在想產(chǎn)品這兩個字。 showImg(https://segmentfault.com/img/remote/1460000016874425); 2018-某熊的技術(shù)之路: 做些有趣的產(chǎn)品 年初的時候,我就在想,今年的主題詞是什么;上半年考慮的較多的是...

    30e8336b8229 評論0 收藏0
  • Ajax 如何保證請求接口數(shù)據(jù)符合預(yù)期?如何去重?

    摘要:將的,和包含全部請求參數(shù)的字符串存入管理器。如滿足條件,則當(dāng)前請求不需要發(fā)起。如果參數(shù)不同,或者是人為操作,則視為兩個不同請求。此時取消中的,并將當(dāng)前請求重新注冊。如果不設(shè)置此項,則只會保留最后一次,前面的請求會被掉。 先描述兩個場景: 快速點(diǎn)擊分頁碼1.2.3.4.5...。假設(shè)網(wǎng)絡(luò)不好或接口速度不佳,此時可能有多個pending中請求。而我們無法控制返回順序。假如用戶最后點(diǎn)擊到分...

    Darkgel 評論0 收藏0
  • 關(guān)于閱讀技術(shù)文檔的一點(diǎn)心得

    摘要:如何更好的學(xué)習(xí)一門技術(shù),去把它的官方文檔仔細(xì)看一遍最近這段時間一有空就會去刷一會官方文檔,寫點(diǎn)感受總結(jié)一下。官方文檔上的評論尤其要注意,有不少評論很有價值。 如何更好的學(xué)習(xí)一門技術(shù),去把它的官方文檔仔細(xì)看一遍 最近這段時間一有空就會去刷一會 PHP 官方文檔,寫點(diǎn)感受總結(jié)一下。 起因 我開始學(xué)習(xí)編程應(yīng)該算是在大二學(xué) C語言 課程,到了大三自學(xué) PHP,之后用這門語言做了七八個外包項目,...

    booster 評論0 收藏0
  • 編程界的“頭牌”名媛:Python,14個與數(shù)據(jù)科學(xué)的“曖昧情事”

    摘要:安裝安裝用于數(shù)據(jù)科學(xué)的的最佳方法是使用發(fā)行版。但這只是展示了構(gòu)建數(shù)據(jù)科學(xué)問題的不同方式中的機(jī)器學(xué)習(xí)這是一個重要的主題,機(jī)器學(xué)習(xí)正在風(fēng)靡世界,是數(shù)據(jù)科學(xué)家工作的重要組成部分。 作為編程界的頭牌名媛,Python平易近人的態(tài)度和精明婉約的靈動深得各個大佬歡心。比如:人工智能、web開發(fā)、爬蟲、系統(tǒng)運(yùn)維、數(shù)據(jù)分析與計算等等。這幾位風(fēng)流多金的行業(yè)精英隨便哪個都能逆轉(zhuǎn)未來。 本文為你精心準(zhǔn)備了一...

    Labradors 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<