============ CH15 Homework ============
0 根据说明填写相应的字符串格式化符号
Answer:
%c 格式化字符串极其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号8进制数
%x 格式化无符号16进制数
%X 格式化无符号16进制数(大写)
%f 格式化定点数,可以指定小数点后的精度
%e 用科学计数法格式化定点数
%E 作用同%e, 用科学计数法格式化定点数
%g 根据值的大小决定使用%f或者%e
%G 作用同%g,根据值的大小决定使用%F或者%e
1 请问以下这行代码会打印什么内容?
>>> "{{1}}".format("不打印", "打印")
Answer: 因为1已经被解释掉了’{ {1} }’
2 以下代码中,a, b, c是什么参数?
1. >>> "{a} love {b}.{c}".format(a="I", b="FishC", c="com")
2. 'I love FishC.com'
Answer: 关键字参数
3 以下代码中,{0}, {1}, {2}是什么参数?
1. >>> "{0} love {1}.{2}".format("I", "FishC", "com")
2. 'I love FishC.com'
Answer: 位置参数
4 如果想要显示Pi = 3.14,format前边的字符串应该怎么填写呢?
1. ''.format('Pi = ', 3.1415)
code
1. >>> '{0}{1:.2f}'.format('Pi = ', 3.1415)
2. 'Pi = 3.14'
Answer:’{0}{1:.2f}’第一个{0}表示输出’Pi = ‘,
第二个表示从位置1开始,输出两位小数的浮点数
Practice
0 编写一个进制转换程序,程序演示如下
(提示,十进制转换二进制可以用bin()这个BIF):
code
# conversion
print('============ 进制转换系统 ============')
num = input('请输入一个整数(输入Q退出):')
if num != 'Q':
num = int(num)
print('-------------- Start --------------')
print( '10进制 -> 16进制:', '%d -> 0x%x' % (num, num) )
print( '10进制 -> 8进制:', '%d -> 0o%o' % (num, num) )
print( '10进制 -> 2进制:', '%d ->' % num, bin(num) )
print('-------------- Thanks -------------')
if num == 'Q':
print('-------------- Thanks -------------')
============ 进制转换系统 ============
请输入一个整数(输入Q退出):123
-------------- Start --------------
10进制 -> 16进制: 123 0x7b
10进制 -> 8进制: 123 -> 0o173
10进制 -> 2进制: 123 -> 0b1111011
-------------- Thanks -------------
============ 进制转换系统 ============
请输入一个整数(输入Q退出):520
-------------- Start --------------
10进制 -> 16进制: 520 -> 0x208
10进制 -> 8进制: 520 -> 0o1010
10进制 -> 2进制: 520 -> 0b1000001000
-------------- Thanks -------------