Now we’ll do even more typing of variables and printing them out. This time we’ll use some- thing called a “format string.” Every time you put " (double-quotes) around a piece of text, you have been making a string. A string is how you make something that your program might give to a human. You print them, save them to files, send them to web servers, all sorts of things.
Strings are really handy, so in this exercise you will learn how to make strings that have variables embedded in them. You embed variables inside a string by using specialized format sequences and then putting the variables at the end with a special syntax that tells Python, “Hey, this is a format string, put these variables in there.”
As usual, just type this in even if you do not understand it and make it exactly the same.
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 exactly right
total = my_age + my_height + my_weight
print ("If I add %d, %d, and %d I get %d."%(my_age, my_height, my_weight, my_age + my_height + my_weight))
In [ ]:
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.
Can I make a variable like this: 1 = 'Zed Shaw'?
No, the 1 is not a valid variable name. They need to start with a character, so a1 would work, but 1 will not.
What does %s, %r, and %d do again?
You’ll learn more about this as you continue, but they are “formatters.” They tell Python to take the variable on the right and put it in to replace the %s with its value.
I don’t get it, what is a “formatter”? Huh?
The problem with teaching you programming is that to understand many of my descriptions, you need to know how to do programming already. The way I solve this is I make you do something, and then I explain it later. When you run into these kinds of questions, write them down and see if I explain it later.
How can I round a floating point number?
You can use the round() function like this: round(1.7333).
*I get this error TypeError: 'str' object is not callable.
You probably forgot the % between the string and the list of variables.
Why does this not make sense to me?*
Try making the numbers in this script your measurements. It’s weird, but talking about yourself will make it seem more real.