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

一、 简述

“格式化字符串(format string)” -  每一次你使用 ‘ ’ 或 " " 把一些文本引用起来,你就建立了一个字符串。 字符串是程序将信息展示给人的方式。

二、 代码

 1 #!usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3
 4 #   Author:    xixihuang
 5 #   Date :     2016/08/31 09:52 AM
 6 #   Desc :     习题5:更多的变量与打印
 7 #              键入更多的变量并且将它们打印出来。这次将使用一个叫“格式化字符串(format string)”的东西。
 8 #              每一次使用“把一些文本引用起来,你就建立了一个字符串。字符串是程序将信息展示给人的方式。
 9
10 #
11 #
12 #
13
14 my_name = ‘Zed A. Shaw‘
15 my_age = 35 # not a lie
16 my_height = 74 # inches
17 my_weight = 180 # lbs
18 my_eyes = ‘Blue‘
19 my_teeth = ‘White‘
20 my_hair = ‘Brown‘
21
22 print "Let‘s talk about %s." % my_name
23 print "He‘s %d inches tall." % my_height
24 print "He‘s %d pounds heavy." % my_weight
25 print "Actually that‘s not too heavy."
26 print "He‘s got %s eyes and %s hair." % (my_eyes, my_hair)
27 print "His teeth are usually %s depending on the coffee." % my_teeth
28
29 # this line is tricky, try to get it exactly right
30 print "If I add %d, %d, and %d I get %d." % (
31     my_age, my_height, my_weight, my_age + my_height + my_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.
$

四、 加分习题

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

全部替换快捷键: Ctrl + R

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

           格式化字符      描述

           %d               有符号整数(十进制) ; 

           %s               调用 str函数打印字符串,str函数返回原始字符串;

           %r               调用 rper函数打印字符串,repr函数返回的字符串是加上了转义序列,是直接书写的字符串的形式;

           

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

字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作。

语法如下:
format_string % string_to_convert
其中:format_string为格式标记字符串,形式为“%cdoe”;string_to_convert 为要格式化的字符串,如果是两个以上,则需要用小括号括起来。

Python 字符串格式化符号:

格式 描述
%% 百分号标记 #就是输出一个%
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中

%格式化符也可用于字典,可用%(name)引用字典中的元素进行格式化输出。

负号指时数字应该是左对齐的,“0”告诉Python用前导0填充数字,正号指时数字总是显示它的正负(+,-)符号,即使数字是正数也不例外。

可指定最小的字段宽度,如:"%5d" % 2。也可用句点符指定附加的精度,如:"%.3d" % 3。

e.g.
# 例:数字格式化
nYear = 2018
nMonth = 8
nDay = 18
# 格式化日期 %02d数字转成两位整型缺位填0
print ‘%04d-%02d-%02d‘%(nYear,nMonth,nDay)
>> 2018-08-18 # 输出结果

fValue = 8.123
print ‘%06.2f‘%fValue # 保留宽度为6的2位小数浮点型
>> 008.12 # 输出

print ‘%d‘%10 # 输出十进制
>> 10
print ‘%o‘%10 # 输出八进制
>> 12
print ‘%02x‘%10 # 输出两位十六进制,字母小写空缺补零
>> 0a
print ‘%04X‘%10 # 输出四位十六进制,字母大写空缺补零
>> 000A
print ‘%.2e‘%1.2888 # 以科学计数法输出浮点型保留2位小数
>> 1.29e+00

格式化操作符辅助指令
符号 作用
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零(‘0‘),在十六进制前面显示‘0x‘或者‘0X‘(取决于
          用的是‘x‘还是‘X‘)
0 显示的数字前面填充‘0’而不是默认的空格
% ‘%%‘输出一个单一的‘%‘
(var) 映射变量(字典参数)
m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

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

使用 Python 的计算功能来完成。

1英寸(in)=2.54厘米(cm)

1磅(lb)=0.45359237千克(kg)

1 my_height = 74 # inches
2 transfer_height = 2.54 * my_height # cm
3
4 my_weight = 180 # lbs
5 transfer_weight = 0.45359237 * my_weight # kg
6
7 print "He‘s %d innchess tall, %d cm." % (my_height, transfer_height)
8 print "He‘s %d pounds heavy, %d kg." % (my_weight, transfer_weight)

五、  补充

时间: 2024-08-14 20:31:34

习题 5: 更多的变量和打印 | 笨办法学 Python的相关文章

笨办法学 Python (Learn Python The Hard Way)

最近在看:笨办法学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注释和井号 习题 3: 数字和数学计算 习题 4: 变量(variable)和命名 习题 5: 更多的变量和打印 习题 6: 字符串(string)和文本 习题 7: 更多打印 习题 8: 打印,打印 习题 9: 打印,打印,打印 习题 10: 那是什么? 习题 11: 提问 习题 12: 提示别人

python 学习 “笨办法学python”(随书补充)

习题 3: 数字和数学计算 这章练习里有很多的数学运算符号.我们来看一遍它们都叫什么名字.你要一边写一边念出它们的名字来,直到你念烦了为止.名字如下: + plus 加号- minus 减号/ slash 斜杠* asterisk 星号% percent 百分号< less-than 小于号> greater-than 大于号<= less-than-equal 小于等于号>= greater-than-equal 大于等于号 有没有发现计算结果是"错"的呢?计

笨办法学Python 练习13和14

原题: 1 from sys import argv 2 3 script, first, second, third = argv 4 5 print "The script is called:", script 6 print "Your first variable is:", first 7 print "Your second variable is:", second 8 print "Your third variabl

笨办法学Python - 习题3: Numbers and Math

Exercise2是注释和井号 Comments and Pound Characters 具体详情请参考习题一,这里就不在做过多的赘述. 习题 3: 数字和数学计算 学习目标:了解Python中常用的算术运算符,并了解运算符之间的先后运算顺序 在各大常用的计算机语言中都有常见的算术运算符,Python也是大同小异,下面我们来了解一下Python中常见的算术运算符: 算术运算符 以下假设变量x = 10 ,y = 20 运算符 描述 实例 + 加 - 两个对象相加 x+y = 30 - 减 -

笨办法学Python(十三)

习题 13: 参数.解包.变量 在这节练习中,我们将讲到另外一种将变量传递给脚本的方法(所谓脚本,就是你写的 .py 程序).你已经知道,如果要运行 ex13.py,只要在命令行运行 python ex13.py 就可以了.这句命令中的 ex13.py 部分就是所谓的"参数(argument)",我们现在要做的就是写一个可以接受参数的脚本. 将下面的程序写下来,后面你将看到详细解释. 1 from sys import argv 2 3 script, first, second, t

笨办法学Python(二十五)

习题 25: 更多更多的练习 我们将做一些关于函数和变量的练习,以确认你真正掌握了这些知识.这节练习对你来说可以说是一本道:写程序,逐行研究,弄懂它. 不过这节练习还是有些不同,你不需要运行它,取而代之,你需要将它导入到 python 里通过自己执行函数的方式运行. 首先以正常的方式 python ex25.py 运行,找出里边的错误,并把它们都改正过来.然后你需要接着下面的答案章节完成这节练习. 你应该看到的结果 这节练习我们将在你之前用来做算术的 python 编译器里,用交互的方式和你的.

笨办法学Python(十七)

习题 17: 更多文件操作 现在让我们再学习几种文件操作.我们将编写一个 Python 脚本,将一个文件中的内容拷贝到另外一个文件中.这个脚本很短,不过它会让你对于文件操作有更多的了解. 1 from sys import argv 2 from os.path import exists 3 4 script, from_file, to_file = argv 5 6 print "Copying from %s to %s" % (from_file, to_file) 7 8

笨办法学Python)(二十四)

习题 24: 更多练习 你离这本书第一部分的结尾已经不远了,你应该已经具备了足够的 Python 基础知识,可以继续学习一些编程的原理了,但你应该做更多的练习.这个练习的内容比较长,它的目的是锻炼你的毅力,下一个习题也差不多是这样的,好好完成它们,做到完全正确,记得仔细检查. 1 print "Let's practice everything." 2 print 'You\'d need to know \'bout escapes with \\ that do \n newlin

笨办法学Python - 习题8-10: Printing &amp; Printing, Printing

目录 1.习题 8: 打印,打印 2.习题 9: 打印,打印,打印 3.习题 10: 那是什么? 3.1.转义序列: 4.习题总结: 1.习题 8: 打印,打印 学习目标:继续学习 %r 的格式化输出. 习题八中的练习代码是: #! -*-coding=utf-8 -*- formatter = "%r %r %r %r %r " print formatter % (1, "hello", [1,2,3], (1,2,3), {"name":&