python自學之路 基礎篇(五)

2021-09-10 23:44:38 字數 4861 閱讀 6177

1. 已知字串 a = "aasmr3idd4bgs7dlsf9eaf",要求如下

1.1 請將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.2 請將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.3 請統計a字串出現的每個字母的出現次數(忽略大小寫,a與a是同乙個字母),並輸出成乙個字典。 例

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.4 請去除a字串多次出現的字母,僅留最先出現的乙個。例 'abcabb',經過去除後,輸出 'abc'

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.5 請將a字串反轉並輸出。例:'abc'的反轉是'cba'

a = "aasmr3idd4bgs7dlsf9eaf"

print (a[::-1]) #步進

1.6 去除a字串內的數字後,請將該字串裡的單詞重新排序(a-z),並且重新輸出乙個排序後的字元 串。(保留大小寫,a與a的順序關係為:a在a前面。例:aabb)

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.7 請判斷 'boy'裡出現的每乙個字母,是否都出現在a字串裡。如果出現,則輸出true,否則,則輸 出false.

a = "aasmr3idd4bgs7dlsf9eafc"

b="boy"

c=set(a)

c.update(list(b))

print (len(set(a))==len(c))

1.8 要求如1.7,此時的單詞判斷,由'boy'改為四個,分別是 'boy','girl','bird','dirty',請判斷如上這4個字串裡的每個字母,是否都出現在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))

1.9 輸出a字串出現頻率最高的字母

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])

2.在python命令列裡,輸入import this 以後出現的文件,統計該文件中,"be" "is" "than" 的出現次數。

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"]])

3.一檔案的位元組數為 102324123499123,請計算該檔案按照kb與mb計算得到的大小。

size=102324123499123

print ("%s kb"%(size>>10))

print ("%s mb"%(size>>20))

4.已知  a =  [1,2,3,6,8,9,10,14,17],請將該list轉換為字串,例如 '123689101417'. 

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])'''#如果位數相同可使用步進的方法

a="3211423243"

b=str.maketrans("123","abc","12") #前兩個引數位數一致,一一對應進行替換。最後乙個引數是刪除其中的字元

#a.translate("12") #第二個引數代表逐字元刪除

print (a.translate(b))

#輸出結果:c4c4c

5. 已知字典:

ainfo =

5.1 迭代字典,輸出結果:

('a', 'haha')

('c', 'hehe')

('b', 'python')

('f', 'xiaoming')

ainfo = 

a=["a","c","b","f"]

for x in a:

print ((x,ainfo[x]))

5.2 寫出查詢字典裡面值等於'haha'的key的**

ainfo = 

print ([x for x,y in ainfo.items() if y=="haha"])

6 寫乙個函式**,返回這3個數字中最大的乙個。

a = 123

b = 345

c = 444

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))

7 分別寫2個函式,完成下面的功能:

提示一下用到函式的:**和*,猩猩是字典,星是元組

2.1 呼叫函式:ainfo(x=88,y=22,z=44) 你定義ainfo函式體裡面的內容並且返回結果: 

[22, 44, 88]

def ainfo(**tmp):

return sorted(list(tmp.values()))

print (ainfo(x=88,y=22,z=44))

2.2 呼叫函式:cinfo(x=88,y=22,z=44) 你定義cinfo函式體裡面的內容並且返回結果:

('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 ...