Python核心编程2第三章课后练习
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第三章课后练习相关推荐
- 《Python核心编程 》笔记-第二章+第三章
第二章 快速入门 print语句中使用字符串格式操作符,实现字符替换功能. print "%s is %d" %("one",1) %s.%d.%f分别用字符串 ...
- 《Python核心编程》第11章 函数和函数式编程 练习
11-3 函数. 在这个练习中,我们将实现max()和min()内建函数. (a) 写分别带两个元素返回一个较大和较小元素,简单的max2()核min2()函数.他们应该可以用任意的python 对象 ...
- 《Python核心编程》第三版 读书笔记
"一个不成熟男子的标志是为了某种事业英勇地死去,一个成熟男子的标志是为了某种事业卑微地活着." ...
- Python学习笔记《Python核心编程》第4章Python对象
所有的python对象都拥有三个特性:身份,类型和值 身份:每个对象都有一个唯一的身份标识自己,可以使用内建函数id()来得到,这个值被认为是该对象的内存地址:--只读 类型:对象的类型决定了该对象可 ...
- python核心编程:第六章。
第六章:序列,字符串,列表和元组 列表,序列,元组. in 和not in 判断元素是否属于一个序列,或者判断一个字符是否在一个字符串内,返回一个布尔值. obj[not] in sequence 序 ...
- python核心语法题_《Python核心编程》第3章笔记
语句和语法 # Python注释 \ 继续上一行(有两种例外情况一个语句不能使用反斜杠也可以跨行.在使用闭合操作符时,单一语句可以跨多行,例如:在含有小括号.中括号.花括号时可以多行书写.另外就是三引 ...
- python计算存款复利计算器_《Python核心编程》第五章:数字
本章大纲 介绍Python支持的多种数字类型,包含:整型.长整型.布尔型.双精度浮点型.十进制浮点型和复数. 介绍和数字相关的运算符和函数. 知识点 5.1 布尔型 从Python2.3開始支持boo ...
- 《Python核心编程》第7章 习题
7–3. 字典和列表的方法. (a) 创建一个字典,并把这个字典中的键按照字母顺序显示出来. (b) 现在根据已按照字母顺序排序好的键,显示出这个字典中的键和值. (c)同(b),但这次是根据已按照字 ...
- python核心编程第二版第一章学习笔记
一.名字来源 贵铎·范·罗萨姆(Guido van Rossum)于1989 年底始创了Python,那时,他还在荷兰的CWI(Centrum voor Wiskunde en Informatica ...
- 《Python核心编程》第1章答案
1-1 略 1-2 略 1-3: Python 标准库 (a) 请找到系统中 Python 执行程序的安装位置和标准库模块的安装位置 (b)看看标准库里的一些文件,比如 string.py.这会帮助 ...
最新文章
- 独家 | 如何正确选择聚类算法?
- 全球20大智慧城市排行榜揭晓:无锡列中国第一,银川、杭州上榜!
- coeforces 665D D. Simple Subset(最大团orsb题)
- Java中使用Observer接口和Observable类实践Observer观察者模式
- parent winform 位置_winform 弹出窗体指定位置
- 20210907 Engine and SDK in development
- 基于Salmon的转录组定量流程
- DISCUZ 使用 JQ做效果导致DIY失效的解决办法
- UDP 组播---基本概念
- python学习笔记(二十八)日志模块
- 【Tensorflow】深度学习实战02——Tensorflow实现进阶的卷积网络(CIFAR-10)
- mysql的数据库操作类_MYSQL数据库操作类
- 设计安全的账号系统的正确姿势
- [原创]完美开启Win8中管理员Administrator帐户
- android声音播放mp3文件,如何在android中播放音频文件
- 组合数学(2)——组合矩阵
- 上下文无关文法的组成
- Elasticsearch 实现类似SQL语句中like %关键字% 的单纯模糊查询(不进行分词)
- 模拟 nbut1225 NEW RDSP MODE I
- k8s进阶篇-云原生存储ceph