第十五课:格式化

内容来源于网络,本人只是在此稍作整理,如有涉及版权问题,归小甲鱼官方所有。

练习题(来自小甲鱼官方论坛)

0. 根据说明填写相应的字符串格式化符号

符号 说明
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化定点数,可指定小数点后的精度
%e 用科学计数法格式化定点数
%E 作用同%e,用科学计数法格式化定点数
%g 根据值的大小决定使用%f或者%e
%G 作用同%g,根据值的大小决定使用%F或者%E

1. 请问以下这行代码会打印什么内容?

>>>"{{1}}".format("不打印", "打印")
答:'{1}'


2.以下代码中,a, b, c是什么参数?

>>> "{a} love {b}.{c}".format(a="I", b="FishC", c="com")
'I love FishC.com'

答:关键字参数


3. 以下代码中,{0}, {1}, {2}是什么参数?

>>> "{0} love {1}.{2}".format("I", "FishC", "com")
'I love FishC.com'

答:位置参数


4. 如果想要显示Pi = 3.14,format前边的字符串应该怎么填写呢?

'  '.format('Pi = ', 3.1415

答:'{0}{1:.2f}'.format('Pi = ', 3.1415)


编程题

0.编写一个进制转换程序,程序演示如下(提示,十进制转换二进制可以用bin()这个BIF):

进制转换.png

(图片转载https://blog.csdn.net/junwei0206/article/details/44757871)
答:

num = input("请输入一个整数(输入Q结束程序):")
while num.upper() != 'Q':    
    if num.isdigit():
        num = int(num)
        print('十进制 -> 十六进制:%d -> %#x'%(num,num))
        print('十进制 -> 八进制:%d -> %#o'%(num,num))
        print('十进制 -> 二进制:%d -> '%num,bin(num))
        num = input("请输入一个整数(输入Q结束程序):")
    else:
        if num == 'Q':
            break
        else:
            num = input("输入不合法,请输入一个整数(输入Q结束程序):")

1. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!

  • 格式化操作符:%,具体见测试题
  • format()方法:接受位置参数和关键字参数
>>> "{0} love {1}.{2}".format("I", "FishC", "com")
'I love FishC.com'
>>> "{a} love {b}.{c}".format(a = "I", b = "FishC", c = "com")
'I love FishC.com'
>>> 
  • 格式化操作符辅助指令
符号 说明
m.n m是显示的最小总宽度,n是小数点后的位数
- 用于左对齐
+ 在正数前面显示加号(+)
# 在八进制数前面显示 '0o',在十六进制数前面显示 '0x' 或 '0X'
0 显示的数字前面填充 '0' 取代空格
>>> '%5.1f' % 27.678
' 27.7'
>>> '%.2e' % 27.6789
'2.77e+01'
>>> '%10d' % 5
'         5'
>>> '%-10d' % 5
'5         '
>>> '%010d' % 5
'0000000005'
>>> '% # x' % 100
'0x64'
  • 字符串转义字符含义
符号 说明
\' 单引号
\" 双引号
\a 发出系统响铃声
\b 退格符
\n 换行符
\t 横向制表符(TAB)
\v 纵向制表符
\r 回车符
\f 换页符
\o 八进制数代表的字符
\x 十六进制数代表的字符
\0 表示一个空字符
\\ 反斜杠

你可能感兴趣的:(第十五课:格式化)