關於如何進行函數編寫
最簡單的一個問題
365天,每天進步0.01,一年后取得的成就和365天,只有在工作日進步,休息日不進步,且倒退0.1的人相比,工作日努力的參數應該是多少?
#DaydayupQ4 def dayUP(df): dayup=1 for i in range(365): if i%7 in [6,0]: dayup=dayup*(1-0.01) else: dayup=dayup*(1+df) return dayup dayfactor=0.01 while dayUP(dayfactor)<37.78: dayfactor=dayfactor+0.001 print("工作日的努力參數是:{:.3f}".format(dayfactor))
字符串切片的問題及概念及高級用法
- 使用[M:N:K]根據步長對字符串切片
- <字符串>[M:N],M缺失表示至開頭,N缺失表示至結尾。
“零一二三四五六七八九” [:3]表示的結果是"零一二" - [M:N:K]根據步長對字符串切片
“零一二三四五六七八九” [1:8:2]表示的是從第一位到第八位,以步長為2進行取切片子集。結果為"一三五七"。
有趣的切片
“零一二三四五六七八九” [::-1] 表示的是從頭到尾,逆向行走 結果是"九八七六五四三二一零"
轉義字符
- 轉義符表達特定字符的本意
- eg: “這里有一個雙引號(\“)” 結果為 這里有一個雙引號(“)
- 轉義符形成的一些組合,表達一些不可打印的含義 如"\b" 回退 “\n” 表示換行(光標移動到下一行的首行) "\r"回車,,(光標移動到本行首)
字符操作符
- x+y 連接2個字符串x 和y
- nx或者xn 復制n次 字符串x
- x in s 判斷字符串x 是否是s的子串, 是的話返回Trun ,否則返還False。
###WeeknamePrintV1.py weekstr="星期一星期二星期三星期四星期五星期六星期日" weekID=eval(input("請輸入星期數字(1-7):")) pos=(weekID-1)*3 print(weekstr[pos:pos+3])
使用加號+來連接字符串
字符串處理函數
- len (x) 返回字符串x 的長度
- str (x) 任意類型x 所對應的字符串形式 ,如 str(1.23) 的結果是"1.23" ,str([1,2])的結果是 “[1,2]”
- ex(x) 和oct(x) 分別是整數x 的十六進制和8進制小寫字符串形式 如hex(425) 結果為"0x1a9" oct(425) 的結果為"0o651"
字符串處理函數
chr(u) u為Unicode 編碼,返回其對應的字符
ord(x) x 為字符,返回其對應的Unicode 的編碼