⑴ 利用python編寫程序,輸入一個三位數,分離出各位數上的數字並輸出
前面跟大家分享過佔位符%,最近發現了個更好用的格式化輸出函數format,故做了個總結,下面將是對format函數的用法全解。
首先,format是一個字元串中的函數 表達式為 str.format(),採用了 {} 來代替佔位符 %
format(value, format_spec='', /)
這個為調用格式 value 表示格式化輸入的值(參數),可以接受不限個參數
format函數的位置參數用法 「{0}」.format(value)
"The dog is {} years old,name {}".format(1,"DaiMo")#大括弧里沒有設置位置參數
結果為:'The dog is 1 years old,name DaiMo'
這是默認位置參數狀態下的輸出結果,第一個{}對應format函數的第一個參數,
第二個{}對應著第二個參數,以此類推,一一對應。
"The dog is {0} years old,name {1}".format(1,"DaiMo")
結果為:'The dog is 1 years old,name DaiMo'
"The dog is {1} years old,name {0}".format(1,"DaiMo")
結果為:'The dog is DaiMo years old,name 1'
通過位置的改變來讓替換的值根據位置改變
format函數的字元填充用法 「{:}」.format()
說到這一點,可能稍微有點復雜,為了方便理解,在引入format函數的調用格式
'''
{ index : [ [fill] align] [sign] [+] [width] [.precision] [type] ] }
index 為位置參數,從0,1,……,開始
fill:指定空白處填充的字元,當填充字元為逗號(,)且作用於整數或浮點數時,
該整數(或浮點數)會以逗號分隔的形式輸出(千分位輸出),例如(1000000會輸出 1,000,000)
align:指定數據的對齊方式(、^ 分別為左對齊、右對齊、居中,= 看下圖)
sign:指定有無符號數(+、-、、空格)
width:指定輸出數據時所佔的寬度。
precision:指定保留的小數位數。
type:指定輸出數據的具體類型
'''
哈?還看不懂嗎?那我以例子為基礎講細一點
print("The dog is {0:0>2} years old,name {1}".format(1,"DaiMo"))
The dog is 01 years old,name DaiMo
大括弧中第一個0表示位置參數,第二個0是在設定的字元長度下,空白處以0來填充。> 表示右對齊,2 表示字元長度為2.
⑵ 如何用python求list中奇數位的元素, 累積和, 還有各數位上的值
1
>>>[0,1,2,3,4,5][1::2]
[1,3,5]
2
>>>fromitertoolsimportaccumulate
>>>list(accumulate([1,1,1]))
[1,2,3]
>>>list(accumulate([1,-1,3]))
[1,0,3]
3
>>>list(map(int,str(123)))
[1,2,3]