4.29 笔记+day7作业
字符串
#利用下標的正數、負數分別輸出字符串的倒序**
a=input("請輸入字符串") i=len(a)-1 while i>=0:print(a[i],end="")i-=1#第二種
a=input("請輸入字符串") i=-1 while i>=-len(a):print(a[i],end="")i-=1#字符串切片
a="qwerty" b=a[1:5:2]#中括號里面的數依次分別代表了開始的位置,結束的位置,步長
print(b)# wr
#幾種特殊情況
#這種情況是從后往前排序的,步長要為負,不然不輸出結果
a="1234567890wert"b=a[8:-1:1]print(b)#90wer#類似于上面的情況,雖然結束值是負數,但由于下標的特性,-1也代表了正數的最后一個值,
所以步長必須為正,不然不會輸出**
#倒序輸出
a="qwert" b=a[::-1] print(b)# trewq#字符串遍歷、拼接、重復
#遍歷
#結果:a s d f g h
#拼接、重復
#這里只能一一對應
#字符串函數
#find 顯示查找的第一次出現的時候首個字符的下標,若不存在返回-1
#index 大致與find相似,但如果查找的字符串不存在會報錯
a="1234ert" b=a.index("34") print(b) c=a.index("45") print(c)#報錯,ValueError: substring not found#count 統計所查找的字符串出現的個數
a="123456qwertqwerqwer" b=a.count("qwer") print(b)#partition 指定一個字符,從指定的字符處分割成多個字符,但只對從左向右第一個指定的字符有效
a="123-1234-1234" b=a.partition("-") print(b) #('123', '-', '1234-1234')#split splitlines
#split
#splitlines
a="1234\n-234\n-23423" b=a.splitlines() print(b)#對比 a="1234\n-234\n-23423" c=a.split("\n") print(c)#maxsplit ,表示最大的分割次數
a="1-1-2-3-4" b=a.split("-",maxsplit=2) c=a.split("-",maxsplit=4) print(b) #['1', '1', '2-3-4'] print(c) #['1', '1', '2', '3', '4']#replace 將一個字符換成另一個字符,原字符串不變,生成一個新的字符串
a="qwert" b=a.replace("q","2") print(b) #2wert#maketrans \translate
a="521" x=str.maketrans("12345","uoeri") print(x) #{49: 117, 50: 111, 51: 101, 52: 114, 53: 105} y=a.translate(x) print(y) #iou#center 居中函數
a="qwer" b=a.center(10) print(b,end="$") # qwer $#ljust \rjust\zfill 數字10代表的是填充完的總長度,
特殊符號代表的用什么填充的,zfill用0填充
#strip、lstrip、rstrip
a=" qwe " b=a.strip()#刪除所有空格 print(b,end="*")#qwe* print() a=" qwe " c=a.lstrip()#刪除左邊的空格 print(c,end="*")#qwe * print() a=" qwe " d=a.rstrip()#刪除右邊的空格 print(d,end="*")# qwe*#括號里有什么就刪除什么
a="$$$123$$$" b=a.lstrip("$") c=a.rstrip("$") print(b) print(c)#位置參數 format
a="姓名{} 年齡{}" b=a.format("張三",19) print(b)a="{1} {0}".format("python","hello") print(a)#關鍵字參數
a="我叫{name},今年{age}歲,性別{sex}".format(age=19,name="張三",sex="男") print(a)#填充 特殊符號$ * &表示的用什么填充,^表示居中,<表示左對齊,>表示右對齊
a="我叫{:$^8}".format("張三") print(a) b="我叫{:*<8}".format("張三") print(b) c="我叫{:&>8}".format("張三") print(c)#精度和進制
a="長度{:.2f},寬度{:.3f},高度{:.0f}".format(1234.234,12.2345,34.43) print(a)a="二進制{:b},八進制{:o},十六進制{:x}".format(10,10,10) print(a,)#格式化
a="我叫%s,今年%d歲,考了%f分,成才率89.6%%"%("張三",16,98.4) print(a)#upper\lower\swapcase
a="werQWE" b=a.upper()#全部變為大寫 print(b) c=a.lower()#全部變為小寫 print(c) d=a.swapcase()#大小寫相互轉化 print(d)#title:將每個單詞的首字母大寫 capitalize:將第一個單詞的首字母大寫
a="what is your name" b=a.title() print(b)#What Is Your Name c=a.capitalize() print(c)#What is your name#\t制表符(默認間隔四個字符) a="what\tis\tyour\tname" print(a)#what is your name#isalpha 判斷字符串是否全是字母 iadigit判斷字符串是否全是數字
isalnum判斷字符串是否全是字母和數字組成
#isupper islower istitle
a="qweQWE" b="qwer" c="QWE" d="Wfd" a1=a.isupper() a2=a.islower() a3=a.istitle() print(a1,a2,a3)#False False False b1=b.islower() c1=c.isupper() d1=d.istitle() print(b1,c1,d1)#True True True#startswith endswith分別用來判斷字符串的開頭結尾是否是指定的字符串
a="1234qwer" b=a.startswith("1234")#True print(b) c=a.endswith("qwer")#True print(c)#help() dir() a="qwert12344wert" print(dir(a)) print(help(a.replace))#encode 編碼 \decode解碼
a="qwe12"b=a.encode("utf-8")print(b) #b'qwe12'c=b.decode("utf-8")print(c) #qwe12#\轉義字符 a="123\ndf\tasdf\'adf\"as\\" print(a) #結果:123df asdf'adf"as\#R或r元字符串 可以使轉義字符失效
a=r"sdf\\sdf\nf\t" print(a)#sdf\\sdf\nf\t作業
#1.判斷一個數是否是回文數。例如:輸入:121,輸出也是121,像這樣的數就是回文數
num =input("請輸入一個數") if num==num[::-1]:print(num,"是回文數") else:print(num,"不是回文數")# 2.查找字符串中每個字符最后出現的位置。
a="黑化肥發揮會發灰,灰化肥發黑會發揮" for index,char in enumerate(a):if index ==a.rindex(char):print((index,char))# 3.‘2018-11-12’去掉‘-’輸出
s = '2018-11-12' s1=s.replace("-","") print(s1)# 4.統計數字,字母,下劃線個數
a=input("請輸入字符串:") sz=0 zm=0 xhx=0 for i in a:if i>="a" and i<="z" or i>="A" and i<="Z":zm+=1elif i>="0" and i<="9":sz+=1elif i=="_":xhx+=1 print("數字",sz,"字母",zm,"下劃線",xhx)# 3.編寫一個函數,接收傳入的字符串,統計大寫字母的個數、小寫字母的個數、數字的個數、
# 其它字符的個數,并以元組的方式返回這些數,然后調用該函數。
總結
以上是生活随笔為你收集整理的4.29 笔记+day7作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 键盘 码,Android
- 下一篇: 报道|香港科大校友“盐马行”活动成功举办