「工欲善其事 必先利其器」

2021-08-08 15:31:37 字數 3647 閱讀 5392

部落格不夠,日常來湊!haha,真的兩個週都沒有更新過文章了[愧疚]

前兩天看到一句話講,只要精神上滿足,身體的疲憊算不上什麼。我好像真的達不到這個境界。為期半個多月的感冒真的讓我變懶散了好多,不過還好,感覺終於可以告一段落了。昨天終於好好的著手去寫趙老師留給我的作業[超怕過期的說]

學了一丟丟python,然後接收到了乙份超「簡單」的作業。

任務就是根據這個url鏈結內容的提示去爬取班級課表。現在真的是覺得超級簡單的,可是我真的是展開了3小時+的拉鋸戰[枯萎]……這個有點zz的過程就不記了。還是直接放結果吧

import requests

from bs4 import beautifulsoup

mat=[[,,,,,,],[,,,,,,],[,,,

,,,],[,,,,,,],[,,,,,,],[,,,,,,]]

#儲存課表資訊

defgethtmltext

(url,sk0,school,colle,cla):

#根據班級資訊獲取課表內容

kv=try:

r=requests.get(url,params=kv,timeout=30)

#print(r.url)

r.raise_for_status()

return r.text

except:

return

""def

strb2q

(ustring):

"""半形轉全形"""

rstring = ""

for uchar in ustring:

inside_code=ord(uchar)

if inside_code == 32: #半形空格直接轉化

inside_code = 12288

elif inside_code >= 32

and inside_code <= 126: #半形字元(除空格)根據關係轉化

inside_code += 65248

rstring += chr(inside_code)

return rstring

defgetmat

(str1):

#處理課表內容,將課表資訊對應存入mat列表

length=len(str1)

i=0#一天中的第幾節課

j=0#週幾 k=0

#代表每節課的屬性

count=0

#迴圈在字串中的位置

namestr=""

#字串flag=false

while i<6:

j=0while j<14:

num=0

while str1[count]!='"':

count=count+1

count=count+1

namestr=""

while str1[count]!='"':

namestr=namestr+str1[count]

count=count+1

count=count+1

if namestr=="kbname"

or namestr=="kbteacher"

or namestr=="kbaddr"

or namestr=="kbweek":

flag=true

if namestr=="kbname":

j=j+1

elif flag==true:

namestr=namestr.encode('utf-8')

namestr=namestr.decode('unicode-escape')

namestr=strb2q(namestr)

flag=false

i=i+1

return mat

defprint

():#按照簡單對齊格式輸出課表

tplt="^25}\t^25}\t^25}\t^25}\t^25}\t"

print(tplt.format("星期一","星期二","星期三","星期四","星期五",chr(12288)))

print('')

#tplt="^18}\t^18}\t^18}\t^18}\t^18}\t"

#tplt="\t\t\t\t\t"

#print(tplt.format("星期一","星期二","星期三","星期四","星期五")

#tplt1="\t"

tplt1="^25}\t"

i=0#一天中的第幾節課

j=0#週幾 k=0

#每節課的屬性(共八個)

while i<6:

k=0while k<8:

j=0while j<5:

leng=len(mat[i][j])

if k>=leng:

print(tplt1.format("",chr(12288)),end="")

else:

print(tplt1.format(mat[i][j][k],chr(12288)),end="")

j=j+1

k=k+1

print('')

i=i+1

defmain

(): url=""

sk0="21bb8c16c004875533da307e831d41b7"

school=0

colle="計"

cla="153-2"

str=gethtmltext(url,sk0,school,colle,cla)

str1=""

for i in str:

if i=='':

continue

else:

str1=str1+i

getmat(str1)

print()

main()

我真的超認真的說我超認真的,然後最後輸出的課表是這樣式的:

自我安慰還可以吧……其實是就這樣吧……這是我的特長,就是不論寫什麼都是**特長………………

然後是真的這個題目超簡單的![敲黑板]

我定義了兩個函式處理獲取到的課表內容字串+**特長,真的是暴力處理字串,中間還不小心寫過乙個死迴圈……

然後趙老師驗收作業的時候,告訴了我這個簡單的方法

import requests

import json

url = '/?sk=21bb8c16c004875533da307e831d41b7&xx=0&xy=%e8%ae%a1&bj=153-2'

#獲取課表內容的url鏈結

r=requests.get(url).json()

print(r)

然後真的好簡單

只需要這樣就可以獲得有關內容的字典,然後根據鍵就可以直接獲取到鍵值了。晴天霹靂,真的只是心疼我一分鐘嗎[shuai]

然後我好像又接收到了新的作業[強迫症症症]|

既然沒那麼有才那就有趣一點吧|

我真的要滿血復活了|

致謝友人|

|

工欲善其事必先利其器

裸機開發流程 1.編寫裸機程式 2.除錯裸機程式 3.生成2進製映像 編譯 鏈結 格式轉換 4.燒寫 執行2進製映像。嵌入式開發模型 交叉開發常用交叉工具 1 交叉編譯器,arm linux gcc 2 交叉鏈結器,arm linux ld 3 交叉轉換器,arm linux readelf 4 交...

工欲善其事,必先利其器

如何做好乙個答辯ppt?最為重要的是,不要照搬網上那些所謂的模板,不要用模板,不要用模板。你覺得模板很酷炫還是很大氣?所謂的模板醜不醜不說,很有可能不適合你要表達的東西,填鴨式的ppt是很糟糕的。去改動別人的ppt模板,來適應自己所要表達的內容,所花費的時間完全夠你做乙個ppt了。另外,報告用ppt...

工欲善其事,必先利其器

古人云 工欲善其事,必先利其器.乙個好的開發者 程式設計師 要提高開發效率,就要會使用一些好的開發工具,會搭建好工作環境.現在的開發工具好多好多,比如開源的 現在很火熱的 eclipse,idea,netbeans,jcreator,wstd,websphere studio,jbuilder,my...