Python二级试题解读:按指定格式输出字符串S

题目


键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为30个字符,星号字符*填充,居中对齐。如果输入字符串超过30位,则全部输出。
代码模板:

// 考生文件初始代码
s = input("请输入一个字符串:")
print("{______}".format(s))

考查知识点


字符串对象format方法格化符的使用

试题解读


字符串对象的format方法可以让字符串按我们指定的格式输出,这个方法对控制字符串在屏幕的输出非常有用。例如:
*********计算机二级Python*********
在这个例子中,字符串是“计算机二级Python”,星号是额外添加的字符,输出的字符长度在30个字符内,字符串“计算机二级Python”居中显示。这样的输出效果是如何实现的呢?
这就要用到format方法的格式化符,也就是要填写在代码模板下划线位置的格式化串。在代码模板下划线位置填写下面的格式化串:
:*^30s
下面来解释这个格式化串的意义,英文冒号“:”作为开头的字符是必须的,类似于导引符,“^”符号将后面要格式化的字符串或数字居中显示,“s”符号表示要格式化输出的内容为字符串,即模板代码的变量s,在“^”符号和“s”符号之间的数字30表示输出的整个字符串宽度为30,若变量s的长度不足30,用指定的字符填充,“*”符号就是要填充的字符,若不指定填充符,默认使用空格填充。

完整的程序代码:

s = input("请输入一个字符串:")
print("{:*^30s}".format(s))

知识点:format方法


相对基本格式化输出采用%号的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{}作为特殊字符代替%
使用方法由两种:b.format(a)和format(a,b)。
1、使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串。

'My name is {},age:{}'.format('Anxc',18)
'My name is Anxc,age:18'

2、字符填充(左对齐,右对齐,居中对齐)
'右对齐{:#>10}'.format(10)
'右对齐########10'
3、数字的精度输出

>>> '{:.4f}'.format(1/3)
'0.3333'
>>> '{:4f}'.format(100)
'100.000000'#