n = input("请输入数字: ")
n_formatted = format(int(n), ",") # 增加千位分隔符
print("{:^30}".format(n_formatted)) # 居中输出,宽度为30字符
在format()函数中使用逗号可以将数字转化为千分位分隔符的形式,例如:
n = 1234567890
n_formatted = format(n, ",") # 输出为 "1,234,567,890"
这里逗号的作用是表示将数字转化为千分位分隔符的形式,即每三位数字用逗号隔开。
在上面的代码中,先将输入的数字n转化为整数类型,然后使用format()函数将其转化为带千分位分隔符的字符串形式n_formatted,最后使用"{:^30}".format(n_formatted)将其居中输出,宽度为30字符。
逗号就是用来格式千分位的啊
def show(n):
tail = "*"*(2*n-1) #最底下一行显示出(2*n-1)个星号
width = len(tail) #计算星号所在行的宽度,作为其他行的对齐基准
for i in range(1,2*n,2):
print("{:^{}}".format("*"*i,width))
format函数读取变量时候由外向内:
{ :^{ } },括号读取变量=="*"*i==
{ :^ { } } ,居中对齐
{ :^ { } } ,最内层括号读取变量width,作为对齐打印基准
show(5)
输出结果如下所示:
*
***
*****
*******
********* #tail变量,显示出9个星号(n = 5)
# 问题: Python format如何用千分位分隔符添加?
# 解决方案:
# 可以使用格式化字符串中的逗号来添加千分位分隔符
# 例如:
num = 1234567.89
formatted_num = '{:,.2f}'.format(num)
print(formatted_num)
# 输出为:1,234,567.89
# 如果想保留整数位,则省略 .2f 部分即可:
formatted_num = '{:,}'.format(num)
print(formatted_num)
# 输出为:1,234,567.89
# 可以在大括号中使用数字或命名来指定要格式化的变量
# 例如:
name = 'John'
age = 30
formatted_str = 'My name is {name}, and I am {age:,} years old.'.format(name=name, age=age)
print(formatted_str)
# 输出为:My name is John, and I am 30 years old.