星号三角形
读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N个星号。
n=eval(input())
for i in range(1,n+1,2):
print("{0: ^{1}}".format('*'*i,n))
range()函数的用法示例:
可见,range中参数不同所表示的意思也不同,range(a,b,c)是指从a到b(不包括b)中,每间隔c输出。
.format()中槽机制
.format() 中槽机制即为以{}大括号括起来的模板字符串
从这个例子中可以看出,槽可以嵌套槽。对于
"{0: ^{1}}".format('*'*i,n)
中为何嵌套的{}槽中会有个数字1,进行了如下验证
我将外面槽中的0与嵌套槽中的1替换了位置,运行程序,报错
将0删除运行程序,报错
将1删除运行程序,依旧报错
最后,我将0与1的位置调换,将format()中参数位置也进行调换,发现程序正常输出
对于槽机制,我们可以在模板字符串中的槽中指定需要添加的参数的位置,即将参数对应的序号写入模板字符串的对应槽中即可
槽内部对格式化的配置方式
{ < 参数序号 > : < 格式控制标记 > }
:
< 填充 >
< 对齐 >
< 宽度 >
引导符号
用于填充的单个字符
右对齐 ^居中对齐
槽设定的输出宽度
例如:
"{0:-^20}".format("PYTHON")
结果为:
'-------PYTHON-------'
"{0:*>20}".format("BIT")
结果为:
'*****************BIT'
"{:10}".format("BIT")
结果为:
'BIT '
# 默认情况下填充为空格,变量左对齐
< ,>
< .精度 >
< 类型 >
数字的千位分隔符
浮点数小数精度或字符串最大输出长度
整数类型b,c,d,o,x,X 浮点数类型e,E,f,%
例如:
"{0:,.2f}".format(12345.6789)
结果为:
'12,345.68'
print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425))
结果为:
看得出我们以 :b输出它的二进制格式,以:c输出字符形式,以:d输出十进制,:o八进制,:x十六进制,:X大写的十六进制
print("{0:e},{0:E},{0:f},{0:%}".format(3.14))
结果为:
得出以 :e输出的是采用科学计数法e形式来表示浮点数,:E使用科学计数法E形式表示浮点数,:f以通常的非科学计数法形式表示浮点数,:%以百分数形式表示浮点数