【Python】format()中槽的嵌套以及range()函数用法

星号三角形

读入一个整数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()函数的用法示例:
    【Python】format()中槽的嵌套以及range()函数用法_第1张图片
    可见,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以通常的非科学计数法形式表示浮点数,:%以百分数形式表示浮点数

你可能感兴趣的:(笔记)