sal.get('name').capitalize() 首字母大寫
###注意startswith('函式的試用是判斷字串的')
if list==type(i): #判斷type(i) 是否是同乙個 型別
#如果吧集合放在這每次for迴圈前面的都會被覆蓋 所以放for裡面for a in f:
dic = {} 每次for迴圈後最後乙個值都會把上乙個值覆蓋(列題在下方)
# 1、檔案內容如下,標題為:姓名,性別,年紀,薪資
# egon male 18 3000
# alex male 38 30000
# wupeiqi female 28 20000
# yuanhao female 28 10000
# 要求:
# 從檔案中取出每一條記錄放入列表中,
# 列表的每個元素都是的形式
# #
list1=with open("a.txt",mode="rt",encoding="utf8")as f:
#如果吧集合放在這每次for迴圈前面的都會被覆蓋 所以放for裡面
for a in f:
dic = {}
name,***,age,salary=a.replace('\n','').split(' ') #解壓賦值
dic['name']=name
dic['***']=***
dic['age']=age
dic['salary']=salary
print(list1)
# 2 根據1得到的列表,取出所有人的薪資之和
salarys=(eval(sal.get('salary')) for sal in list1)salarysum=sum(salarys)
print(salarysum)
## # 3 根據1得到的列表,取出所有的男人的名字
out_1=(sal.get('***') for sal in list1 if sal.get('***') !='female')print(list(out_1))
# 4 根據1得到的列表,將每個人的資訊中的名字對映成首字母大寫的形式
out_2=(sal.get('name').capitalize() for sal in list1 )print(list(out_2))
5 根據1得到的列表,過濾掉名字以a開頭的人的資訊
name_1=(i for i in list1 ifnot i.get("
name
").startswith("
a") )#
##注意startswith('函式的試用是判斷字串的')
print(list(name_1))
# 6 使用遞迴列印斐波那契數列(前兩個數的和得到第三個數,如:0 1 1 2 3 4 7...)
def func(x,n=0,a=1): 明確乙個要有結束值if x==0:
return
print(n)
n,a=n+a,n
記得賦值在函式內才可以有變化 不然下次迴圈的話就歸零
x-=1
func(x,n,a)
func(10)
# 7 乙個巢狀很多層的列表,如l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]],用遞迴取出所有的值
l=[1,2,[3,[4,5,6,[7,8,[9,10,[11,12,13,[14,15]]]]]]]deffunc(list1):
for i in
list1:
if list==type(i):
#判斷type(i) 是否是同乙個 型別
func(i)
else
:
(i)func(l)
python 列印斐波那契數列 使用遞迴函式版本
使用python列印出斐波那契數列的過程中需要特別注意的是數列中的值有前兩項相加而來,所以需要兩項同時賦值,不能分開賦值,分開賦值會導致數列變為等比數列 usr bin python coding utf 8 def fib n a 0b 1 for i in range n 1 a,b b,a b...
遞迴與斐波那契數列
迭代實現 def fab n a1 1 a2 1 a3 1if n 1 print 輸入有誤 return 1 while n 2 0 a3 a1 a2 a1 a2 a2 a3 a 1return a3 result fab 20 if result 1 print 總共有 d對小兔子誕生 resu...
遞迴演算法斐波那契數列
有一對兔子,從出生後第3個月起,每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子。假如兔子都不死,求第n個月兔子對數 關於斐波那契數列的兔子繁殖問題其實如下 實際月份 123 4567 8幼仔對數 101 1235 8成兔對數 011 2358 13總體對數 112 35813 21幼仔對...