⑴ 利用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]