笨方法学Python 习题 5: 更多的变量和打印

时间:2021-10-21 03:15:42

#!usr/bin/python
# -*- coding:utf8 -*-

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 coffee." % my_teeth)

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

print ("---------------------------------------------")
name = "Zed A. Shaw"
age= 35 #not a lie
height = 74 #inches
weight = 180 #lbs
eyes = "Blue"
teeth = "White"
hair = "Brown"

print ("Let's talk about %s." % name)
print ("He's %d inches tall." % height)
print ("He's %d pounds heavy." % weight)
print ("Actually that's not too heavy.")
print ("He's got %s eyes and %s hair." % (eyes , hair))
print ("His teeth are usually %s depending on the coffee." % teeth)

# this line is tricky , try to get it ecactly riht
print ("If I add %d , %d , and %d I get %d." % (age , height , weight , age + height + weight))

运行结果如下:

$ 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 coffee.
If I add 35, 74, and 180 I get 289.
$

加分习题

修改所有的变量名字,把它们前面的``my_``去掉。确认将每一个地方的都改掉,不只是你使用``=``赋值过的地方。

试着使用更多的格式化字符。例如 %r 就是是非常有用的一个,它的含义是“不管什么都打印出来”。

在网上搜索所有的 Python 格式化字符。

试着使用变量将英寸和磅转换成厘米和千克。不要直接键入答案。使用 Python 的计算功能来完成。


常见问题回答

这样定义变量行不行: 1 = 'Zed Shaw'?

不行。 1 不是一个有效的变量名称。变量名要以字母开头。所以 a1 可以,但 1 不行。

%s, %r, %d 这些符号是啥意思?

后面你会详细学到更多,现在可以告诉你的是它们是一种“格式控制工具”。它们告诉 Python 把右边的变量带到字符串中,并且把变量值放到 %s 所在的位置上。

还是不懂,“格式控制工具”是啥?

要明白一些描述的意义,你得先学会编程才更容易理解,你可以把这样的问题记录下来,看后面的内容会不会向你解释这些东西。

如何将浮点数四舍五入?

你可以使用 round() 函数,例如: round(1.7333)

我碰到了错误: TypeError: ‘str’ object is not callable。

很有可能你是漏写了字符串和变量之间的 % 。

这都是些什么玩意啊?我还是很糊涂。

试着将脚本里的数字看作是你自己量出来的东西,这样会很奇怪,但是多少会让你有身临其境的感觉,从而帮助你理解一些东西。