From 2520be6e79ea0dd311987c45633f7662021ec9be Mon Sep 17 00:00:00 2001 From: yili_ar <1044686276@qq.com> Date: Mon, 5 Mar 2018 17:17:25 +0800 Subject: [PATCH 1/4] =?UTF-8?q?Create=20=E8=B1=86=E7=93=A3=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E5=9B=BE=E7=89=87=E7=88=AC=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\351\241\265\345\233\276\347\211\207\347\210\254\345\217\226" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "\350\261\206\347\223\243\351\246\226\351\241\265\345\233\276\347\211\207\347\210\254\345\217\226" diff --git "a/\350\261\206\347\223\243\351\246\226\351\241\265\345\233\276\347\211\207\347\210\254\345\217\226" "b/\350\261\206\347\223\243\351\246\226\351\241\265\345\233\276\347\211\207\347\210\254\345\217\226" new file mode 100644 index 0000000..f2835cb --- /dev/null +++ "b/\350\261\206\347\223\243\351\246\226\351\241\265\345\233\276\347\211\207\347\210\254\345\217\226" @@ -0,0 +1 @@ +利用python爬取豆瓣首页图片 From 0fa5a3fdf925d6083481b4e5944028da14bee9f3 Mon Sep 17 00:00:00 2001 From: yili_ar <1044686276@qq.com> Date: Mon, 5 Mar 2018 17:21:25 +0800 Subject: [PATCH 2/4] =?UTF-8?q?Add=20files=20via=20=E8=B1=86=E7=93=A3?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=9B=BE=E7=89=87=E7=88=AC=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- paqu_1.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ s29673188.jpg | Bin 0 -> 22580 bytes s29674554.jpg | Bin 0 -> 8398 bytes s29676143.jpg | Bin 0 -> 11941 bytes s29679670.jpg | Bin 0 -> 24407 bytes s29702334.jpg | Bin 0 -> 7928 bytes 6 files changed, 44 insertions(+) create mode 100644 paqu_1.py create mode 100644 s29673188.jpg create mode 100644 s29674554.jpg create mode 100644 s29676143.jpg create mode 100644 s29679670.jpg create mode 100644 s29702334.jpg diff --git a/paqu_1.py b/paqu_1.py new file mode 100644 index 0000000..648c8ee --- /dev/null +++ b/paqu_1.py @@ -0,0 +1,44 @@ + +#导入所需的库 +import urllib.request,socket,re,sys,os + +#定义文件保存路径 +targetPath = "D:\zhihu_pachong" + +def saveFile(path): + #检测当前路径的有效性 + if not os.path.isdir(targetPath): + os.mkdir(targetPath) + + #设置每个图片的路径 + pos = path.rindex('/') + t = os.path.join(targetPath,path[pos+1:]) + return t + +#用if __name__ == '__main__'来判断是否是在直接运行该.py文件 + + +# 网址 +url = "https://www.douban.com/" +headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/51.0.2704.63 Safari/537.36' + } + +req = urllib.request.Request(url=url, headers=headers) + +res = urllib.request.urlopen(req) + +data = res.read() + +for link,t in set(re.findall(r'(https://img.*?(gif|png|jpg))', str(data))): + if '.gif' in link: + continue + else: + print(link) + print(t) + try: + urllib.request.urlretrieve(link,saveFile(link)) + except: + print('失败') + + diff --git a/s29673188.jpg b/s29673188.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74f68f208bd439eb2f9abeeb584ee91a70d820e4 GIT binary patch literal 22580 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 literal 0 HcmV?d00001 diff --git a/s29674554.jpg b/s29674554.jpg new file mode 100644 index 0000000000000000000000000000000000000000..341e727ee73e40d7a152497fe43effe20b0cadbb GIT binary patch literal 8398 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 NVtM{CKfv?y{{ldr(gFYg literal 0 HcmV?d00001 diff --git a/s29679670.jpg b/s29679670.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2a3796899dacd757b7e5a3c86073a5c060fe607f GIT binary patch literal 24407 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%0A*AVqP=b=>i7D|RkE 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 literal 0 HcmV?d00001 diff --git a/s29702334.jpg b/s29702334.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f37321b7d0e393895c6ba2c1fde3d5e904b3d932 GIT binary patch literal 7928 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 LiR5h%?&E&|35ZFN literal 0 HcmV?d00001 From 64a89fdb5dff279543f303924648c0ea2c946582 Mon Sep 17 00:00:00 2001 From: stevia <1044686276@qq.com> Date: Wed, 23 May 2018 17:24:28 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=BF=AB=E9=80=9F=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E5=86=92=E6=B3=A1=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maopao.py | 32 ++++++++++++++++++++++++++++++++ quick_sort.py | 24 ++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 maopao.py create mode 100644 quick_sort.py diff --git a/maopao.py b/maopao.py new file mode 100644 index 0000000..d5ea273 --- /dev/null +++ b/maopao.py @@ -0,0 +1,32 @@ +import time +import random +def _maopao_sort_(list): + for i in range(len(list)): + j=i+1 + + for j in range(i+1,len(list)): + if list[i] > list[j]: + + temp=list[j] + list[j]=list[i] + list[i]=temp + + result='排序结果'+','.join(map(str,list)) + +def random_int_list(start, stop, length): + start, stop = (int(start), int(stop)) if start <= stop else (int(stop), int(start)) + length = int(abs(length)) if length else 0 + random_list = [] + for i in range(length): + random_list.append(random.randint(start, stop)) + return random_list + +if __name__=="__main__": + #生成随机数组 + #生成10000个随机数 + array1=random_int_list(0,1000000,10000) + t1 = time.time() + + _maopao_sort_(array1) + t2=time.time() + print(t2-t1) \ No newline at end of file diff --git a/quick_sort.py b/quick_sort.py new file mode 100644 index 0000000..3cbebef --- /dev/null +++ b/quick_sort.py @@ -0,0 +1,24 @@ +import random +import time +quick_sort = lambda array: array if len(array) <= 1 else quick_sort([item for item in array[1:] if item <= array[0]]) + [array[0]] + quick_sort([item for item in array[1:] if item > array[0]]) + + +#生成随机数组 +def random_int_list(start, stop, length): + start, stop = (int(start), int(stop)) if start <= stop else (int(stop), int(start)) + length = int(abs(length)) if length else 0 + random_list = [] + for i in range(length): + random_list.append(random.randint(start, stop)) + return random_list + +#生成1000个随机数 +if __name__=="__main__": + + #生成10000个随机数 + array1=random_int_list(0,1000000,100000) + t1 = time.time() + + array2=quick_sort(array1) + t2=time.time() + print(t2-t1) \ No newline at end of file From 6ce79645e46cddacb0537538c23caa5fea382329 Mon Sep 17 00:00:00 2001 From: stevia <1044686276@qq.com> Date: Tue, 4 Sep 2018 20:18:49 +0800 Subject: [PATCH 4/4] Create hammingcode --- hammingcode | 279 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 279 insertions(+) create mode 100644 hammingcode diff --git a/hammingcode b/hammingcode new file mode 100644 index 0000000..8a68a79 --- /dev/null +++ b/hammingcode @@ -0,0 +1,279 @@ +import hammingcode as hc +from tkinter import * +master = Tk() +e=StringVar() + +var=IntVar() +def init(): + global x + global Err + global InfoCode + global ErrPos + x=0 + Err=[] + ErrPos=[] + InfoCode=[] + +def selection(): + global IsOdd + IsOdd=var.get() + print(IsOdd) + return(IsOdd) +def startcorrect(): + global x + global Err + global ErrPos + global InfoCode + global IsOdd + print(e1.get()) + h=list(e1.get()) + h=list(map(int,h)) + print(h) + (x,Err,ErrPos,InfoCode)=hc.hammingCodeCorrect(h,IsOdd) + + print(x) + + text1.insert(INSERT,x) + text2.insert(INSERT,Err) + text3.insert(INSERT,ErrPos) + text4.insert(INSERT,InfoCode) + + print(x) + +init() +master.geometry('%dx%d' % (500, 400)) +Label(master, text="请输入有错的海明码:").grid(sticky=W,pady=10) +Label(master, text="选择校验方式:").grid(sticky=W,pady=10) +Label(master, text="校验码位数:").grid(sticky=W,pady=10) +Label(master, text="累加器的值:").grid(sticky=W,pady=10) +Label(master, text="错误位置:").grid(sticky=W,pady=10) +Label(master, text="源码结果:").grid(sticky=W,pady=10) +button1 = Button(master, text='开始纠正',command=startcorrect) +button1.grid(row=3, column=2) + +e1 = Entry(master,width=40) +e1.grid(row=0, column=1,padx=(5,5),pady=10,ipady=1) + + +R1 = Radiobutton(master, text="奇校验", variable=var, value=1,command=selection) +R1.grid(row=1,column=1) +R2 = Radiobutton(master, text="偶校验", variable=var, value=0,command=selection) +R2.grid(row=1,column=2) + + + +text1 = Text(master, width=40, height=2) +text1.grid(row=2,column=1) + +text2 = Text(master, width=40, height=2) +text2.grid(row=3,column=1) +text3 = Text(master, width=40, height=2) +text3.grid(row=4,column=1) +text4 = Text(master, width=40, height=2) +text4.grid(row=5,column=1) +mainloop() + + + + + + + +import numpy as np +def hammingCode(SourceCode,IsOdd): + #计算校验码位数x + K=len(SourceCode) + x=0 + while True: + if (pow(2,x)-x)>K+1: + break + x+=1 + #初始化海明码 + HammingCode=np.zeros(K+x) + #计算校验码位置 + tmp=pow(2,np.arange(0,x)) + #tmp1=HamingCode.tolist() + CodePos=tmp-1 + j=0 + for i in range(0,K+x): + if i in CodePos: + continue + HammingCode[i]=SourceCode[j] + j=j+1 + print(HammingCode) + print(CodePos+1) + tmp1=[] + #IsOdd值为1时为奇校验,值为0时为偶校验 + #计算校验码数值 + if(IsOdd): + for num in range(0,x): + tmp1=np.zeros(K+x) + list1=[] + for i in range(tmp[num],K+x+1): + #找到所需校验的位置 + if(int(i/tmp[num])%2==1): + tmp1[i-1]=HammingCode[i-1] + list1.append(i) + print(list1) + HammingCode[CodePos[num]]=abs(str(tmp1.tolist()).count("1")%2-1) + + else: + for num in range(0,x): + tmp1=np.zeros(K+x) + list1=[] + for i in range(tmp[num],K+x+1): + #找到所需校验的位置 + if(int(i/tmp[num])%2==1): + tmp1[i-1]=HammingCode[i-1] + list1.append(i) + print(list1) + HammingCode[CodePos[num]]=str(tmp1.tolist()).count("1")%2 + print(HammingCode[CodePos[num]]) + tmp1=HammingCode[tmp-1] + return(x,tmp,tmp1,HammingCode) + +def hammingCodeCorrect(WrongCode,IsOdd): + #WrongCode=[1,1,0,1,0,1,0,0,1,0,1,0] + N=len(WrongCode) + #计算位数 + x=0 + while True: + if (pow(2,x))>N+1: + break + x+=1 + K=N-x + CorrectCode=WrongCode + tmp=pow(2,np.arange(0,x)) + #tmp1记录每一个校验码校验位组的结果 + Err=np.zeros(x) + ErrorPos=0 + if(IsOdd): + for num in range(0,x): + list1=[] + for i in range(tmp[num],K+x+1): + #找到校验码对应校验位置 + if(int(i/tmp[num])%2==1): + list1.append(i) + for j in range(0,len(list1)): + Err[num]=int(Err[num])^int(WrongCode[list1[j]-1]) + Err=1-Err + #print(Err) + ErrorPos=sum(np.multiply(Err,pow(2,np.arange(0,x)))) + #print(ErrorPos) + CorrectCode[int(ErrorPos-1)]=1-WrongCode[int(ErrorPos-1)] + # print(CorrectCode) + for num in range(0,x): + del CorrectCode[tmp[x-num-1]-1] + InfoCode=CorrectCode + #print(InfoCode) + else: + for num in range(0,x): + list1=[] + for i in range(tmp[num],K+x+1): + #找到校验码对应校验位置 + if(int(i/tmp[num])%2==1): + list1.append(i) + for j in range(0,len(list1)): + Err[num]=int(Err[num])^int(WrongCode[list1[j]-1]) + # print(Err) + ErrorPos=sum(np.multiply(Err,pow(2,np.arange(0,x)))) + #print(ErrorPos) + CorrectCode[int(ErrorPos-1)]=1-WrongCode[int(ErrorPos-1)] + # print(CorrectCode) + for num in range(0,x): + del CorrectCode[tmp[x-num-1]-1] + InfoCode=CorrectCode + # print(InfoCode) + return(x,Err,ErrorPos,InfoCode) + +(a,b,c,d)=hammingCodeCorrect([0,0,1,0,0,1,0,0,1,0,1,0],1) + + + + + + + + + + +import hammingcode as hc +from tkinter import * +master = Tk() +e=StringVar() + +var=IntVar() +def init(): + global x + global tmp + global tmp1 + global HammingCode + x=0 + tmp=[] + tmp1=[] + HammingCode=[] + +def selection(): + global IsOdd + IsOdd=var.get() + print(IsOdd) + return(IsOdd) +def startcoding(): + global x + global tmp + global tmp1 + global HammingCode + global IsOdd + print(e1.get()) + h=list(e1.get()) + (x,tmp,tmp1,HammingCode)=hc.hammingCode(h,IsOdd) + + text1.insert(INSERT,x) + text2.insert(INSERT,tmp) + text3.insert(INSERT,tmp1) + text4.insert(INSERT,HammingCode) + + print(h) + print(x) + print(HammingCode) +init() +master.geometry('%dx%d' % (500, 400)) +Label(master, text="请输入原信息码:").grid(sticky=W,pady=10) +Label(master, text="选择校验方式:").grid(sticky=W,pady=10) +Label(master, text="校验码位数:").grid(sticky=W,pady=10) +Label(master, text="校验码位置:").grid(sticky=W,pady=10) +Label(master, text="校验位的值:").grid(sticky=W,pady=10) +Label(master, text="海明码编码结果:").grid(sticky=W,pady=10) +button1 = Button(master, text='开始编码',command=startcoding) +button1.grid(row=3, column=2) +button2 = Button(master, text='演示纠错') +button2.grid(row=4, column=2) +e1 = Entry(master,width=40) +e1.grid(row=0, column=1,padx=(5,5),pady=10,ipady=1) + + +R1 = Radiobutton(master, text="奇校验", variable=var, value=1,command=selection) +R1.grid(row=1,column=1) +R2 = Radiobutton(master, text="偶校验", variable=var, value=0,command=selection) +R2.grid(row=1,column=2) + + + +text1 = Text(master, width=40, height=2) +text1.grid(row=2,column=1) + +text2 = Text(master, width=40, height=2) +text2.grid(row=3,column=1) +text3 = Text(master, width=40, height=2) +text3.grid(row=4,column=1) +text4 = Text(master, width=40, height=2) +text4.grid(row=5,column=1) +mainloop() + + + + + + + +