1. 标识符。为什么Python 中不需要变量名和变量类型声明?

Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

2.标识符。为什么Python 中不需要声明函数类型?

Python中使用def关键字定义函数,函数包括函数名称和参数,不需要定义返回类型,Python能返回任何类型函数没有定义返回类型,实际上每一个函数都有返回值,默认为None(python的空值).

3.标识符。为什么应当避免在变量名的开始和和结尾使用双下划线?

在python中有特殊意义,表示系统定义名字,防止系统脚本出错

4.python 一行书写多个语句方式?

同一行书写多个语句使用(;)号隔开

5.语句。在Python 中可以将一个语句分成多行书写吗?

多行书写,在该行语句排头加入反斜杠(\)即可

6 变量赋值

(a)赋值语句 x, y, z = 1, 2, 3 会在 x、y、z 中分别赋什么值?

x=1 y=2 z=3

(b)执行z, x, y = y, z, x 后,x、y、z 中分别含有什么值?

z=2 x=3 y=1

7.标识符。下面哪些是Python 合法的标识符?如果不是,请说明理由!在合法的标识符中,哪些是关键字?

合法的标识符:第一个字符必须是字母或下划线(_);剩下的字符可以是字母和数字或下划线

int32、printf、_print、this、self、__name__、bool、true、type、thisIsAVar、R_U_Ready、Int、True、do、access是Python合法的标识符。

print、if、是Python合法的标识符且是关键字。

4.0XL、$aving$、0X40L、big-daddy、2hot2touch、thisIsn'tAVar、counter-1、-不是Python合法的标识符。

8.Python 代码。将脚本拷贝到您的文件系统中,然后修改它。可以添加注释,修改修改提示符(‘>’太单调了)等等,修改这些代码,使它看上去更舒服。

makeTextFile.py

#!/usr/bin/env python
#-*-coding:utf-8-*-
import os
ls =os.linesep
#导入os模块,获取当前系统行终止符
#取得fname变量的文件名
while True:fname =raw_input("Enter filename:")try:if os.path.exists(fname):print "ERROR:'%s' already exists" % fnameelse:breakexcept:print "*** file open error:",e
#输入文件名,如果存在提示存在,不存在结束循环进入下个程序
all =[]
print "\nEnter lines ('.' by itself to quit).\n"
#提示使用.quit
while True:entry =raw_input('>')if entry=='.':breakelse:all.append(entry)
#循环,如果有.结束循环,其他情况添加.
fobj =open(fname,'w')
fobj.writelines(['%s%s'%(x,ls) for x in all])
#输入输入进去的每一行
fobj.close()
print 'DONE!

readTextFile.py

#!/usr/bin/env python#-*-coding:utf-8-*-

fname =raw_input("Enter filename:")#提示输入需要阅读的文件名printtry:fobj =open(fname,'r')#在读的模式下打开文件except IOError,e:print "*** file open error:",e#若出错提示错误else:for eachLine in fobj:print eachLine,fobj.close()#打印出每一行,并关闭

9.移植。 如果你在不同类型的计算机系统中分别安装有Python, 检查一下,os.linesep 的值是否有不同。 记下操作系统的类型以及 linesep 的值。

RedHat

WindowsXP

10.异常。使用类似readTextFile.py 中异常处理的方法取代 readTextFile.py makeTextFile.py 中 对 os.path.exists()的调用。反过来, 用os.path.exists()取代readTextFile.py 中的异常处理方法。

#!/usr/bin/env python
#-*-coding:utf-8-*-
'readTextFile.py -- read and display text file'
#fname变量获得文件名
import os
fname=raw_input('Enter filename:')
if os.path.exists(fname):#fobj对象读模式打开文件fobj=open(fname,'r')for eachLine in fobj:print eachLine.strip()fobj.close()
else:print "No this file"

11.字符串格式化 不再抑制 readTextFile.py 中 print 语句生成的 NEWLINE 字符,修改你的代码,在显示一行之前删除每行末尾的空白。这样,你就可以移除 print 语句末尾的逗号了。提示: 使用字符串对象的 strip()方法 

#!/usr/bin/env python
#-*-coding:utf-8-*-
'readTextFile.py -- read and display text file'
#fname变量获得文件名
import os
fname=raw_input('Enter filename:')
if os.path.exists(fname):#fobj对象读模式打开文件fobj=open(fname,'r')for eachLine in fobj:print eachLine.strip()fobj.close()
else:print "No this file"

12.合并源文件。将两段程序合并成一个,给它起一个你喜欢的名字,比方readNwriteTextFiles.py。让用户自己选择是创建还是显示一个文本文件。

#!/usr/bin/env python#-*-coding:utf-8-*-import os
ls =os.linesep
while True:print """1.readTextFile2.makeTextFile3.quit4.make the already Text File"""choose =raw_input("please find the choose")if choose =='1':print "You choose 1"while True:fname =raw_input("enter the name:")if os.path.exists(fname):print "the name is already exists!"else:breakall=[]print"\n Enter lines('.' by itself to quit)\n"while True:entry =raw_input(">")if entry =='.':breakelse:all.append(entry)fobj =open(fname,'w')fobj.writelines(['%s%s'%(x,ls) for x in all])fobj.close()print "DONE!"if choose=='2':print 'You choose 2'fname =raw_input("please choose the file:")fobj =open(fname,'r')for eachLine in fobj:print eachLine,fobj.closeif choose=='3':breakif choose=='4':fname =raw_input("please choose the file:")all =[]while True:entry =raw_input(">")if entry=='.':breakelse:all.append(entry)fobj =open(fname,'w')fobj.writelines(['%s%s'%(x,ls) for x in all])fobj.close()print "DONE!"    

转载于:https://www.cnblogs.com/Fly9527/p/3990368.html

Python核心编程2第三章课后练习相关推荐

  1. 《Python核心编程 》笔记-第二章+第三章

    第二章 快速入门 print语句中使用字符串格式操作符,实现字符替换功能. print "%s is %d" %("one",1) %s.%d.%f分别用字符串 ...

  2. 《Python核心编程》第11章 函数和函数式编程 练习

    11-3 函数. 在这个练习中,我们将实现max()和min()内建函数. (a) 写分别带两个元素返回一个较大和较小元素,简单的max2()核min2()函数.他们应该可以用任意的python 对象 ...

  3. 《Python核心编程》第三版 读书笔记

    "一个不成熟男子的标志是为了某种事业英勇地死去,一个成熟男子的标志是为了某种事业卑微地活着."                                           ...

  4. Python学习笔记《Python核心编程》第4章Python对象

    所有的python对象都拥有三个特性:身份,类型和值 身份:每个对象都有一个唯一的身份标识自己,可以使用内建函数id()来得到,这个值被认为是该对象的内存地址:--只读 类型:对象的类型决定了该对象可 ...

  5. python核心编程:第六章。

    第六章:序列,字符串,列表和元组 列表,序列,元组. in 和not in 判断元素是否属于一个序列,或者判断一个字符是否在一个字符串内,返回一个布尔值. obj[not] in sequence 序 ...

  6. python核心语法题_《Python核心编程》第3章笔记

    语句和语法 # Python注释 \ 继续上一行(有两种例外情况一个语句不能使用反斜杠也可以跨行.在使用闭合操作符时,单一语句可以跨多行,例如:在含有小括号.中括号.花括号时可以多行书写.另外就是三引 ...

  7. python计算存款复利计算器_《Python核心编程》第五章:数字

    本章大纲 介绍Python支持的多种数字类型,包含:整型.长整型.布尔型.双精度浮点型.十进制浮点型和复数. 介绍和数字相关的运算符和函数. 知识点 5.1 布尔型 从Python2.3開始支持boo ...

  8. 《Python核心编程》第7章 习题

    7–3. 字典和列表的方法. (a) 创建一个字典,并把这个字典中的键按照字母顺序显示出来. (b) 现在根据已按照字母顺序排序好的键,显示出这个字典中的键和值. (c)同(b),但这次是根据已按照字 ...

  9. python核心编程第二版第一章学习笔记

    一.名字来源 贵铎·范·罗萨姆(Guido van Rossum)于1989 年底始创了Python,那时,他还在荷兰的CWI(Centrum voor Wiskunde en Informatica ...

  10. 《Python核心编程》第1章答案

    1-1 略 1-2 略 1-3:  Python 标准库 (a) 请找到系统中 Python 执行程序的安装位置和标准库模块的安装位置 (b)看看标准库里的一些文件,比如 string.py.这会帮助 ...

最新文章

  1. 独家 | 如何正确选择聚类算法?
  2. 全球20大智慧城市排行榜揭晓:无锡列中国第一,银川、杭州上榜!
  3. coeforces 665D D. Simple Subset(最大团orsb题)
  4. Java中使用Observer接口和Observable类实践Observer观察者模式
  5. parent winform 位置_winform 弹出窗体指定位置
  6. 20210907 Engine and SDK in development
  7. 基于Salmon的转录组定量流程
  8. DISCUZ 使用 JQ做效果导致DIY失效的解决办法
  9. UDP 组播---基本概念
  10. python学习笔记(二十八)日志模块
  11. 【Tensorflow】深度学习实战02——Tensorflow实现进阶的卷积网络(CIFAR-10)
  12. mysql的数据库操作类_MYSQL数据库操作类
  13. 设计安全的账号系统的正确姿势
  14. [原创]完美开启Win8中管理员Administrator帐户
  15. android声音播放mp3文件,如何在android中播放音频文件
  16. 组合数学(2)——组合矩阵
  17. 上下文无关文法的组成
  18. Elasticsearch 实现类似SQL语句中like %关键字% 的单纯模糊查询(不进行分词)
  19. 模拟 nbut1225 NEW RDSP MODE I
  20. k8s进阶篇-云原生存储ceph

热门文章

  1. 在Windows下的virtualenv中搭建Flask+MySQLDb开发环境
  2. C#中Dictionary的用法及用途(转)
  3. 我所认为的KVC和KVO
  4. Hadoop中maptask数量的决定因素
  5. FileReader读取本地文件
  6. SQLServer 使用sp_repldone标识所有未分发的事务为已分发
  7. Windows下Node.js安装Canvas插件
  8. 1065. 最小公倍数
  9. rancher的使用感受以及与k8s的对比
  10. Vim自动补全插件-NeoComplCache