学习python的第三天

时间:2022-06-20 20:52:25

变量和命名

通俗的讲,在编程中,变量是代指某个东西的名字。起一个好的名字会在日后的操作中获得极大的方便。

练习部分

cars = 100
space_in_a_car = 4.0
drivers = 30
passengers = 90
cars_not_driven = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * space_in_a_car
average_passengers_per_car = passengers / cars_driven

print "There are",cars,"cars available"
print "There are only",drivers,"drivers available."
print "There will be",cars_not_driven,"empty cars today."
print "We can transport",carpool_capacity,"people today."
print "We have",passengers,"to carpool today."
print "We need to put about",average_passengers_per_car,"in each car."

space_in_a_car_是下划线,书中说明下划线通常被作为假想的空格,用来隔开单词。这样命名变量看起来会更清楚些。
很巧的是在输入完代码后运行程序,我遇到了书中同样的问题,遇到了NameError错误。

加分习题

1.在程序中用4.0作为 space_in_a_car的值,我认为没有必要,因为这里不需要浮点数,改为4在该程序中没有问题。
2.给每一个变量加注释
#汽车的数量是100
cars = 100
#汽车空间等于4
space_in_a_car = 4
#司机的数量等于30
drivers = 30
#乘客的数量等于90
passengers = 90
#汽车和司机数量之差
cars_not_driven = cars - drivers
#司机的数量
cars_driven = drivers
#可以合伙使用汽车的数量
carpool_capacity = cars_driven * space_in_a_car
#平均每辆车的乘客的数量
average_passengers_per_car = passengers / cars_driven
3.=是等于号, _是下划线。
4.暂时不会。题目:将python作为计算器运行起来,就跟以前一样,不过这一次在计算过程中使用变量名来做计算,常见的变量名有i ,x ,j 等等。

更多的变量和打印

字符串是程序把信息展示给用户的方式,字符串有很多用处。

你可以打印它们,可以将它们写入文件,还可以将它们发送给网站服务器,很多事情都是通过字符串交流实现的。

在输入一段类似“我的姓名是XXX,年龄XX”中,XX 的内容是根据变量的变化而变化的,格式化字符串是一种较为简便的方式。

练习部分

my_name = 'Zed A. Shaw'
my_age = 35
my_height = 74
my_weight = 180
my_eyes = 'blue'
my_teeth = 'White'
my_hair = 'Brown'

print "Let's talk about %s." % my_name
print "He's %d inches tall." % my_height
print "He's %d pounds 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
print "If I add %d, %d, and %d I get %d." % (my_age, my_height, my_weight, my_age + my_height + my_weight)

加分习题

1.python 格式化字符

格式化字符符号

  • %c转换成字符(ASCII 码值,或者长度为一的字符串)
  • %r优先用repr()函数进行字符串转换
  • %s优先用str()函数进行字符串转换
  • %d / %i转成有符号十进制数
  • %u转成无符号十进制数
  • %o转成无符号八进制数
  • %x / %X转成无符号十六进制数(x / X 代表转换后的十六进制字符的大小写)
  • %e / %E转成科学计数法(e / E控制输出e / E)
  • %f / %F转成浮点数(小数部分自然截断)
  • %%输出% (格式化字符串里面包括百分号,那么必须使用%%)
2.注意 %s%r 的用法。
例如:
PRINT = "Hello \nWorld!"
print "%s" % PRINT
print "%r" % PRINT

输出结果为:

>>> 
Hello
World!
'Hello \nWorld!'

这里的差异是str()和repr()两个内建函数之间的差异:
str()得到的字符串是面向用户的,具有较好的可读性;
repr()得到的字符串是面向机器的,通常(不是所有)repr()得到的效果是:obj == eval(repr(obj))

更多学习参考 Python 格式化字符串

3.使用变量将英寸和磅转换成厘米和千克。
my_height_ft = 74 
my_height_cm = 74 * 2.540005
my_weight_lb = 180
my_weight_kg = 180 * 0.454

print "He's %d cm tall." % my_height_cm
print "He's %d kg heavy." % my_weight_kg