Exercise 5:更多的变量及输出

原文链接:http://learnpythonthehardway.org/book/ex5.html

        现在我们要学习更多关于变量的输入和输出,这次我们要用到一个叫做“格式化字符串”的东西。每次当你用”(双引号)括起一段文字的时候你就创建了一个字符串。字符串就是在程序中你可能发送给某一个人的东西。你可以打印它们,保存到文件中,发送到网页服务器上,等等各种事情。

        String 字符串是非常方便的,所以在这次练习中你将学习如何在一个字符串中嵌套变量。你可以通过专门的格式化序列然后把变量放在字符串的最后面通过特殊语法告诉Python来在字符串中嵌入它,”嘿,整个一个格式化字符串,把这些变量放在这里“。

        一般,你只要你准确的输入下面代码即使你不理解这些也没关系。

my_name = 'Zed A. Shaw'
my_age = 35 #not a lie
my_height = 74 #inches
my_weight = 180 #lbs
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 cooffee." % my_teeth

# this line is tricky ,try to get it ecactly right
print "If I add %d ,%d ,and %d I get %d." % (my_age ,my_height ,my_weight ,my_age + my_height + my_weight)

警告:

        如果你不是使用ASCII编码时返回编码错误的话,记得在代码的最前面加上 # -- coding: urf-8 -- 这条语句。

你将看到如下结果:

c:\>python ex5.py
Let's talk about Zed A. Shaw.
He's 74 inches tall.
He's 180 pounds heavy.
Actually that's not too heavy.
He's got blue eyes and Brown hair.
His teeth are usually White depending on the cooffee.
If I add 35 ,74 ,and 180 I get 289.

研究训练:

1、将代码中所有变量前面的my_去掉。确保你所有的地方都有改变,不要只改了用了 = 的地方。

2、尝试使用更多的用来格式化的字符。%r 就是一个非常有用的用来格式化的字符。它的作用就好比在说“不管什么都给我打印出来”(ps:这个自己一定要试下哦,还要看仔细点)。

3、从网上查找出Python所有的格式化字符。

4、尝试写出一些变量可以实现英寸转换成厘米,英镑可以转成公斤。不要就输入你计算出来的值,要在Python中用数学表达式算出结果来。

学生遇到的常见问题:


我可以像这样给一个变量赋值:1 = ‘Zed Shaw' 吗?
答:不可以,1 不是一个有效的变量名。变量名必须以字母开头,像 a1 就有效了,但是 1 就不行。

%s ,%r ,%d这些到底是做了什么?
答:你继续往下学将了解更多的这些东西,但是它们就是“格式化”的意思。它们告诉Python程序用变量右边的值替代 %s 所在的地方。我也无法去具体解释什么叫做“格式化?额?我引导你编程的过程中你理解了我所描述的所有问题那么你只需要知道你自己已经知道怎么编程了。我的方法就是让你先做,后面我再解释。当你再遇到这类的问题,你先写下来,再到后面看看我能不能为你解释。

我怎样能对一个浮点数做四舍五入操作?
答:你可以使用 round() 函数,例如:round(1.7333) 。

我遇到这样一个错误:TypeError: 'str' object is not callable.
答:你可能忘了写字符串和变量列表之间的 % 了。

为什么我感觉做这个对我完全没有意义?
答:试着把里面的数字换成你自己的测量值。这样做可能有点奇怪,不过告诉你自己一些东西可能会让你觉得还是有点实用的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值