《笨办法学Python》 第5课手记
本节内容复习了前两节的内容,并且引入了格式化字符,这节课里的格式化字符与C语言格式化字符,规则没有什么区别。
我把原文代码中的信息改成了我自己的信息,并且尝试以.2f(2位浮点数)来输出我的身高(英寸)
代码如下:
my_name = 'Steve Wang'
my_age = 20 #not a lie
my_height = 67.71 #172cm 67.71inches
my_weight = 126 #kg
my_eyes = 'Brown'
my_teeth = 'White'
my_hair = 'Black'
print "Let's talk about %s." % my_name
print "He's %.2f inches tall,or 172cm." % my_height
print "He's %d kg heavy." % my_weight
print "Actually that's not too heavy."
print "He's got %s eyes and %s hair." % (my_eyes, my_hair)
print "His teeth are usually %s depending on the coffee." % my_teeth
# this line is tricky, try to get it exactly right
print "If I add %d, %d, and %d I get %d." %(my_age, my_height, my_weight, my_age+ my_height + my_weight)
结果(该结果从Power Shell ISE复制而来,ISE版本功能更加丰富,但运行比基本版慢,有时会出现卡住的现象):
PS C:UsersSolo> Python ex2.py
Let's talk about Steve Wang.
He's 67.71 inches tall,or 172cm.
He's 126 kg heavy.
Actually that's not too heavy.
He's got Brown eyes and Black hair.
His teeth are usually White depending on the coffee.
If I add 20, 67, and 126 I get 213.
加分习题中涉及的单位转换,我想应该是自己写单位转换的公式,然后让Python计算,例如:
1.72*39.37,得到对应的英寸数。
本节课涉及的内容:
Python中的格式控制字符:
格式化符号 说明
%c 转换成字符(ASCII 码值,或者长度为一的字符串)
%r 优先用repr()函数进行字符串转换(Python2.0新增)
%s 优先用str()函数进行字符串转换
%d / %i 转成有符号十进制数
%u 转成无符号十进制数
%o 转成无符号八进制数
%x / %X (Unsigned)转成无符号十六进制数(x / X 代表转换后的十六进制字符的大
小写)
%e / %E 转成科学计数法(e / E控制输出e / E)(本行区别于C语言)
%f / %F 转成浮点数(小数部分自然截断)
%g / %G %e和%f / %E和%F 的简写
%% 输出%
辅助符号 说明
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号(+)
在正数前面显示空格
#在八进制数前面显示零(0),在十六进制前面显示“0x”或者“0X”(取决于用的是“x”还是“X”)
0 显示的数字前面填充“0”而不是默认的空格
m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)