1. 已知字串 a = "aasmr3idd4bgs7dlsf9eaf",要求如下
1.1 請將a字串的大寫改為小寫,小寫改為大寫。
1.2 請將a字串的數字取出,並輸出成乙個新的字串。a = "aasmr3idd4bgs7dlsf9eaf"
print(a.swapcase())
'''a = "aasmr3idd4bgs7dlsf9eaf"
b =
for n in a :
if "a"<= n <= "z":
elif"a" <= n <= "z" :
else:
print("".join(b))'''
1.3 請統計a字串出現的每個字母的出現次數(忽略大小寫,a與a是同乙個字母),並輸出成乙個字典。 例a = "aasmr3idd4bgs7dlsf9eaf"
print("".join([s for s in a if s.isdigit()]))
'''a = "aasmr3idd4bgs7dlsf9eaf"
b =
for n in a :
if "0"<= n <= "9":
print("".join(b))'''
1.4 請去除a字串多次出現的字母,僅留最先出現的乙個。例 'abcabb',經過去除後,輸出 'abc'a = "aasmr3idd4bgs7dlsf9eaf"
a=a.lower()
print(dict([(x,a.count(x)) for x in set(a) if not x.isdigit()]))
'''a = "aasmr3idd4bgs7dlsf9eaf"
b = {}
for n in a :
m=n.lower()
if "a"<= m<= "z":
b[m]=b.get(m,0)+1
print(b)'''
1.5 請將a字串反轉並輸出。例:'abc'的反轉是'cba'a = "aasmr3idd4bgs7dlsf9eaf"
b=list(a)
c=list(set(b)) #set轉換為集合,去重,無序
c.sort(key=b.index)
print ("".join(c))
'''a = "aasmr3idd4bgs7dlsf9eaf"
b =
for n in a :
if "a"<= n.lower() <= "z":
if n not in b:
else:
print("".join(b))'''
1.6 去除a字串內的數字後,請將該字串裡的單詞重新排序(a-z),並且重新輸出乙個排序後的字元 串。(保留大小寫,a與a的順序關係為:a在a前面。例:aabb)a = "aasmr3idd4bgs7dlsf9eaf"
print (a[::-1]) #步進
1.7 請判斷 'boy'裡出現的每乙個字母,是否都出現在a字串裡。如果出現,則輸出true,否則,則輸 出false.a = "aasmr3idd4bgs7dlsf9eafc"
b=for x in a:
c=ord(x)
if x.isupper():
c+=31.5 #chr("a")=97
if c>=65: #chr("a")=65,去掉數字 或者 if not x.isdigit()
c=b.sort()
for x in b:
if x%1==0.5:
x-=31.5
d=chr(int(x)) #將65.0轉換為65,再轉換為"a"
print("".join(c))
a = "aasmr3idd4bgs7dlsf9eafc"
b=[x for x in a if not x.isdigit()]
c=sorted(b,key=str.lower,reverse=true)
print ("".join(c)[::-1])
1.8 要求如1.7,此時的單詞判斷,由'boy'改為四個,分別是 'boy','girl','bird','dirty',請判斷如上這4個字串裡的每個字母,是否都出現在a字串裡。a = "aasmr3idd4bgs7dlsf9eafc"
b="boy"
c=set(a)
c.update(list(b))
print (len(set(a))==len(c))
1.9 輸出a字串出現頻率最高的字母a = "aasmr3idd4bgs7dlsf9eafc"
b=["boy","girl","bird","dirty"]
c=set(a)
for i in b:
c.update(list(i))
print (len(set(a))==len(c))
2.在python命令列裡,輸入import this 以後出現的文件,統計該文件中,"be" "is" "than" 的出現次數。a = "aasmr3idd4bgs7dlsf9eaf"
b=[(x,a.count(x)) for x in set(a) if not x.isdigit()]
b.sort(key=lambda k:k[1],reverse=true)
print(b[0][0])
3.一檔案的位元組數為 102324123499123,請計算該檔案按照kb與mb計算得到的大小。import os
m=os.popen("python -m this").read()
m=m.replace("\n","")
l=m.split(" ")
print ([(x,l.count(x)) for x in ["be","is","than"]])
4.已知 a = [1,2,3,6,8,9,10,14,17],請將該list轉換為字串,例如 '123689101417'.size=102324123499123
print ("%s kb"%(size>>10))
print ("%s mb"%(size>>20))
a = [1,2,3,6,8,9,10,14,17]
print (str(a)[1:-1].replace(", ",""))
'''a = [1,2,3,6,8,9]
print (str(a)[1:-1:3])'''#如果位數相同可使用步進的方法
5. 已知字典:a="3211423243"
b=str.maketrans("123","abc","12") #前兩個引數位數一致,一一對應進行替換。最後乙個引數是刪除其中的字元
#a.translate("12") #第二個引數代表逐字元刪除
print (a.translate(b))
#輸出結果:c4c4c
ainfo =
5.1 迭代字典,輸出結果:
('a', 'haha')
('c', 'hehe')
('b', 'python')
('f', 'xiaoming')
5.2 寫出查詢字典裡面值等於'haha'的key的**ainfo =
a=["a","c","b","f"]
for x in a:
print ((x,ainfo[x]))
6 寫乙個函式**,返回這3個數字中最大的乙個。ainfo =
print ([x for x,y in ainfo.items() if y=="haha"])
a = 123
b = 345
c = 444
7 分別寫2個函式,完成下面的功能:def text():
"返回這3個數字中最大的乙個"
a = 123
b = 345
c = 444
return max(a,b,c)
print (text())
def text2(a,b,c):
"返回這3個數字中最大的乙個"
return max(a,b,c)
print (text2(123,345,444))
提示一下用到函式的:**和*,猩猩是字典,星是元組
2.1 呼叫函式:ainfo(x=88,y=22,z=44) 你定義ainfo函式體裡面的內容並且返回結果:
[22, 44, 88]
2.2 呼叫函式:cinfo(x=88,y=22,z=44) 你定義cinfo函式體裡面的內容並且返回結果:def ainfo(**tmp):
return sorted(list(tmp.values()))
print (ainfo(x=88,y=22,z=44))
('xaay','yaay','zaay')
def ainfo(**tmp):
return tuple([x+"aay" for x in tmp.keys()])
print (ainfo(x=88,y=22,z=44))
python自學之路 基礎篇(一)
1 info abc info 2 d 結果是什麼,為什麼會報錯呢?typeerror str object does not support item assignment 字串不支援字元賦值。2 如果要把上面的字串info裡面的c替換成d,要怎麼操作呢?info abc b info.repla...
python自學之路 基礎篇(三)
一 下面列表 a 1,2,3,4,5,333,11,44 輸出下面的結果 4,5,333 print a 3 6 二 有下面2個列表 a 1,2,3 b 4,5,6 用2個方法輸出下面結果 1,2,3,4,5,6 a 1 2,3 b 4 5,6 print a b a.extend b print ...
python學習之路 基礎篇 day02
大綱 1.集合操作 2.檔案操作 3.分支語句 一.集合操作 概念 我們把一些元素的總體叫做集合 特點 明確性,無序性,互異性 與列表和元組不同,集合是無序的,也無法通過數字進行索引。列表的建立 a 1,2,3,4 b list 1,2,3,4 print type b 元祖的建立 c 1,2,3 ...