笨办法学Python - 习题6-7: Strings and Text & More Printing
1、习题 6: 字符串(string) 和文本
学习目标:了解字符串的定义,学会使用复杂的字符串来建立一系列的变量。学会命名有意义的变量名
习题六中的练习代码是:
#! -*-coding=utf-8 -*-
x = "There are %d types of people." % 10
binary = "binary"
do_not = "don't"
y = "Those who know %s and those who %s." % (binary,do_not)
print x
print y
print "I said: %r." % x
print "I also said: '%s'." % y
hilarious = False
joke_evaluation = "Isn't that joke so funny ? I %r"
print joke_evaluation % hilarious
w = "This is the left side of ..."
e = "a string with a right side."
print w + e
上述代码的运行结果为:
C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo6/Exer6-1.py
There are 10 types of people.
Those who know binary and those who don't.
I said: 'There are 10 types of people.'.
I also said: 'Those who know binary and those who don't.'.
Isn't that joke so funny ? I False
This is the left side of ...a string with a right side.
Process finished with exit code 0
上面的代码主要是有几个点需要注意下:
- 占位符的问题,%d 代表整数,%s 代表字符串,数据类型必须要匹配
- %r 和 %s 的区别和联系,具体详情请参考习题5
- “+”号带来的字符串拼接的问题,具体详情请也参考习题5
- 格式化输出用到的占位符还有一个重要的问题就是变量和值的一,一对应
2、加分习题:
- 通读程序,在每一行的上面写一行注解,给自己解释一下这一行的作用。
- 找到所有的”字符串包含字符串”的位置。
- 解释一下为什么 w 和 e 用 + 连起来就可以生成一个更长的字符串。
3、我的答案
3.1、通读程序,在每一行的上面写一行注解,给自己解释一下这一行的作用
#! -*-coding=utf-8 -*-
# 定义变量x ,并用占位符表示格式化字符串
x = "There are %d types of people." % 10
# 定义变量 并用格式化输出,变量一,一对应
binary = "binary"
do_not = "don't"
y = "Those who know %s and those who %s." % (binary,do_not)
print x
print y
# 格式化打印输出
print "I said: %r." % x
print "I also said: '%s'." % y
hilarious = False
joke_evaluation = "Isn't that joke so funny ? I %r"
print joke_evaluation % hilarious
w = "This is the left side of ..."
e = "a string with a right side."
# 字符串的拼接
print w + e
3.2、找到所有的”字符串包含字符串”的位置
y = "Those who know %s and those who %s." % (binary,do_not)
print "I said: %r." % x
print "I also said: '%s'." % y
3.3、解释一下为什么 w 和 e 用 + 连起来就可以生成一个更长的字符串
因为这里是Python中字符串的功能,其实当使用加号运算符的时候会调用这个类的_ add() _函数,这个函数是每个类都有的,对于自定义的类,不重写这个方法,+这个运算符就没作用.
4、习题总结
习题6主要是介绍了字符串的格式化输出,% 以及 + 的运用,具体还有.format操作上一题也做了详细的阐述和练习,所以还是能看出来字符串的格式化输出还是很重要的。
5、习题 7: 更多打印
学习目标:熟练掌握字符串的格式化输出,这节主要是练习为主。
习题七中的练习代码是:
#! -*-coding=utf-8 -*-
# print的打印输出
print "Mary had a little lamb."
# 字符串的格式化输出
print "Its fleece was white as %s." % 'snow'
print "And everywhere that Mary went."
# 字符串的 *n 的特殊用法,相当于重复多少次
print "." * 10 ## what'd that do?
end1 = "C"
end2 = "h"
end3 = "e"
end4 = "e"
end5 = "s"
end6 = "e"
end7 = "B"
end8 = "u"
end9 = "r"
end10 = "g"
end11 = "e"
end12 = "r"
# 字符串的拼接
print end1 + end2 + end3 + end4 + end5 + end6,
print end7 + end8 + end9 + end10 + end11 + end12
上述代码的执行结果为:
C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo7/Exer7-1.py
Mary had a little lamb.
Its fleece was white as snow.
And everywhere that Mary went.
..........
Cheese Burger
Process finished with exit code 0
注:上述代码只是对之前几道习题的一个总结,还得课后多练习,毕竟单独靠这几道习题是远远不够的,
有一个知识点,字符串和数字的乘法 - 相当于将字符串重复了多少遍
举个栗子:

还有个需要注意的地方,上面代码的最后两行,最后两个print语句中间有逗号;
# 字符串的拼接
print end1 + end2 + end3 + end4 + end5 + end6,
print end7 + end8 + end9 + end10 + end11 + end12
注意:在Python2 中这样是可以执行的,不会报错,就相当于逗号在 print 中的作用是分隔多个待打印的值。如果去掉这个逗号,则相当于两个print 语句,相当于分开打印,会输出两行。
但是在Python3 中是不支持去掉在两个print 语句中间加逗号的,去掉就会报错。

6、习题总结
习题7主要是回顾了之前学习的知识点,包括print操作,字符数串的格式化输出等。
笨办法学Python - 习题6-7: Strings and Text & More Printing的更多相关文章
- 笨办法学Python - 习题1: A Good First Program
在windows上安装完Python环境后,开始按照<笨办法学Python>书上介绍的章节进行练习. 习题 1: 第一个程序 第一天主要是介绍了Python中输出函数print的使用方法, ...
- 笨办法学Python - 习题11-12: Asking Questions & Prompting People
目录 1.习题 11: 提问 2.习题 12: 提示别人 3.总结 1.习题 11: 提问 学习目标:了解人机交互场景,熟悉raw_input 的用法. 1.在 Python2.x 中 raw_inp ...
- 笨办法学Python - 习题8-10: Printing & Printing, Printing
目录 1.习题 8: 打印,打印 2.习题 9: 打印,打印,打印 3.习题 10: 那是什么? 3.1.转义序列: 4.习题总结: 1.习题 8: 打印,打印 学习目标:继续学习 %r 的格式化输出 ...
- 笨办法学Python - 习题5: More Variables and Printing
1.习题 5: 更多的变量和打印 学习目标:了解用户输入方法,明白pthon2和Python3之间的用户输入的区别.了解格式化字符串(format string)的概念,学会如何创建包含变量内容的字符 ...
- 笨办法学Python - 习题4: Variables and Names
1.习题 4: 变量(variable)和命名 学习目标:了解Python中变量的定义,学习定义简明易记的变量名 变量:变量是存储内存中的值,就是每定义一个变量就会在内存中开辟一个空间.基于变量的类型 ...
- 笨办法学Python - 习题3: Numbers and Math
目录 习题 3: 数字和数学计算 算术运算符 加分习题: 我的答案: 总结: 扩展: Python比较运算符 Python赋值运算符 Python位运算符 Python逻辑运算符 Python成员运算 ...
- 笨办法学python 习题14 优化过 遇到问题的请看
print "\t what's you name?"user_name = raw_input('>') from sys import argvscript, = arg ...
- 笨办法学 Python (Learn Python The Hard Way)
最近在看:笨办法学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注 ...
- 笨办法学 Python (第三版)(转载)
笨办法学 Python (第三版) 原文地址:http://blog.sina.com.cn/s/blog_72b8298001019xg8.html 摘自https://learn-python ...
随机推荐
- C语言程序设计I—第九周教学
第九周教学总结(28/10-03/11) 教学内容 第三章 分支结构 3.3 查询自动售货机中商品的价格 课前准备 在蓝墨云班课发布资源: PTA:2018秋第九周作业1 3.3 分享码:530571 ...
- SSH免密码登录远程linux服务器
Linux下实现SSH无密码验证登陆 ssh配置 主机A:10.0.5.199 主机B:10.0.5.198 需要配置主机A无密码登录主机A,主机B 先确保所有主机的防火墙处于关闭状态. 在主机A上执 ...
- Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形
提要 在Unity工作流程内,地形是一个必不可少的重要元素.不论是游戏或虚拟现实都会使用到各种类型的地形效果,在这个教学中我们须要了解到地形的制作基本概念与,当中对于Unity的地形操作部分须要大量的 ...
- SpringCloud 学习(一) :Features
话不多说,现在在开发微服务项目,也想系统的学习一下SpringCloud,顾选择硬着头皮跟着英文官方文档学习一遍SpringCloud. 现在公司在用SpringCloud,也有很好的实践应用,加上更 ...
- mac上cocoapods安装与卸载
安装 # 安装最新beta版 sudo gem install cocoapods --pre -n /usr/local/bin # 安装最新稳定版 sudo gem install cocoapo ...
- OpenGL 球体世界
一.类似公自转 二.核心代码 //图形渲染 void RenderScene() { //清楚缓存区:颜色缓存区.深度缓存区.模版缓存区 glClear(GL_COLOR_BUFFER_BIT|GL_ ...
- mysql where语句多条件查询是and和or联合使用bug
公司项目中有段功能是全局搜索框和下拉列表的联合查询,在联调开发中发现单独用下拉查询是正确的,单独用全局搜索框也是正确的,测试发现是sql语法有问题. 问题截图: 出现问题的核心还是在于搜索框是用于多个 ...
- Python ZipFile模块详解(转)
Python zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个cl ...
- 20155239 2017-11-19 实现mypwd(选做,加分)
20155239 2017-11-19 实现mypwd(选做,加分) 题目和要求 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试mypwd ...
- [agc011E]Increasing Numbers-[思考题]
Description 传送门 Solution 依题得所有不下降数(设为a)可以拆为若干个全1数的和(如:1558=1111+111+111+111+111+1+1+1) 并且任意a所能拆出的全一数 ...