可爱的python习题答案
- 格式:doc
- 大小:1.03 MB
- 文档页数:42
Python练习题+参考答案一、单选题(共57题,每题1分,共57分)1.关于Python的全局变量和局部变量,以下选项中描述错误的是( )A、简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放B、全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效C、使用global保留字声明简单数据类型变量后,该变量作为全局变量使用D、局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用正确答案:D2.以下关于循环结构的描述,错误的是:A、遍历循环对循环的次数是不确定的B、遍历循环的循环次数由遍历结构中的元素个数来体现C、非确定次数的循环用 while 语句来实现,确定次数的循环用 for 语句来实现D、非确定次数的循环的次数是根据条件判断来决定的正确答案:A3.以下不能创建一个字典的语句是( )A、dict = {(4,5,6):‘dictionary’}B、dict = {[4,5,6]:‘dictionary’}C、dict= {4:6}D、dict = {}正确答案:B4.下面哪一个不是Python语言的合法命名( )A、3monthlyB、monthlyC、monTHlyD、_Monthly3_正确答案:A5.以下选项中不是文件操作函数或方法的是( )A、readB、writelinesC、readlinesD、load正确答案:D6.以下关于Python循环结构的描述中,错误的是( )A、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数B、continue只结束本次循环C、break用来结束当前次语句,但不跳出当前的循环体D、Python通过for、while等保留字构建循环结构正确答案:C7.在print函数的输出字符串中可以将( )作为参数,代表后面指定要输出的一个字符。
A、%dB、%tC、%cD、%s正确答案:C8.下列快捷键中能够中断(Interrupt Execution)Python程序运行的是( )A、F6B、Ctrl + QC、Ctrl + CD、Ctrl + F6正确答案:C9.字符串是一个字符序列,例如,字符串s,从右侧向左取第3个字符用( )索引?A、s[0:-3]B、s[-3]C、s[3]D、s[:-3]正确答案:B10."下面代码的输出结果是( ) for a in ‘mirror’: print(a, end="") if a == ‘r’: break"A、MirrorB、mirC、mirrorD、mi正确答案:B11.字符串是一个连续的字符序列,用( )方式打印出可以换行的字符串。
(完整版)python练习题-答案(可编辑修改word版)⼀、填空题Python 练习题库By 郑红波2017-12-191.Python 标准库math 中⽤来计算平⽅根的函数是。
(sqrt)2.在Python 中表⽰空类型。
(None)3.列表、元组、字符串是Python 的(有序?⽆序)序列。
(有序)4.查看变量类型的Python 内置函数是。
(type())5.查看变量内存地址的Python 内置函数是。
(id())6. 表达式[1, 2, 3]*3 的执⾏结果为。
([1, 2, 3, 1, 2, 3, 1, 2, 3])7. list(map(str, [1, 2, 3]))的执⾏结果为。
([‘1’, ‘2’, ‘3’])8.已知x = 3,并且id(x)的返回值为496103280,那么执⾏语句x += 6 之后,表达式id(x) ==496103280 的值为。
(False)9.已知x = 3,那么执⾏语句x *= 6 之后,x 的值为。
(18)10. 表达式“[3] in [1, 2, 3, 4]”的值为。
(False)11. 假设列表对象aList 的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切⽚aList[3:7]得到的值是。
([6, 7, 9, 11])12.使⽤列表推导式⽣成包含10 个数字5 的列表,语句可以写为。
([5 for i inrange(10)])13.假设有列表a = ['name', 'age', 'sex']和b = ['Dong', 38, 'Male'],请使⽤⼀个语句将这两个列表的内容转换为字典,并且以列表a 中的元素为“键”,以列表b 中的元素为“值”,这个语句可以写为。
(c = dict(zip(a, b)))14.任意长度的Python 列表、元组和字符串中最后⼀个元素的下标为。
python 123习题答案Python 123习题答案Python是一种高级编程语言,它被广泛应用于数据分析、人工智能、网络编程等领域。
在学习Python的过程中,掌握基本的语法和逻辑是非常重要的。
而《Python 123习题》是一本帮助初学者巩固知识的练习题集。
在这本书中,有大量的习题可以帮助读者巩固所学的知识。
比如,有关于变量、条件语句、循环、函数等方面的练习题。
通过不断地练习,读者可以更加熟练地掌握Python的基本语法和逻辑。
以下是一些Python 123习题的答案:1. 变量的定义和使用:```pythonname = "John"age = 25print("My name is", name, "and I am", age, "years old.")```2. 条件语句的运用:```pythonscore = 85if score >= 90:print("A")elif score >= 80:print("B")else:print("C")```3. 循环的应用:```pythonfor i in range(1, 6):print(i)```4. 函数的定义和调用:```pythondef greet(name):print("Hello, ", name)greet("Alice")```通过学习和练习这些习题,读者可以更加深入地理解Python语言的特点和灵活运用。
同时,也可以提高自己的编程能力,为将来的项目开发打下坚实的基础。
总的来说,《Python 123习题》是一本非常有价值的练习题集,它可以帮助初学者更好地掌握Python编程语言。
希望大家在学习Python的过程中,能够通过不断地练习和实践,不断提升自己的编程技能。
Python习题库与参考答案一、单选题(共50题,每题1分,共50分)1、"给出如下代码以下选项中描述正确的是( ) for i in range(6): print(chr(ord(9801)+i),end="")"A、系统报错B、chr (“a”)返回"a"字符对应的Unicode编码C、输出结果为D、ord(x)函数返回x的Unicode编码对应的字符正确答案:A2、"下面代码的输出结果是( ) for i in range(1,10,2): print(i,end=",")"A、1,3,B、1,3,5,7,9,C、1,4,D、1,4,7,正确答案:B3、关于return语句,以下选项中描述正确的是( )A、函数中最多只有一个return语句B、return只能返回一个值C、函数可以没有return语句D、函数必须有一个return语句正确答案:C4、关于while保留字,以下选项中描述正确的是( )A、while True: 构成死循环,程序要禁止使用B、使用while必须提供循环次数C、所有while循环功能都可以用for循环替代D、使用while能够实现循环计数正确答案:D5、给定字典d,以下选项中对d.items()的描述正确的是( )A、返回一个集合类型,每个元素是一个二元元组,包括字典d中所有键值对B、返回一个列表类型,每个元素是一个二元元组,包括字典d中所有键值对C、返回一个元组类型,每个元素是一个二元元组,包括字典d中所有键值对D、返回一种dict_items类型,包括字典d中所有键值对正确答案:D6、以下选项中不符合 Python 语言变量命名规则的是( )A、TempStrB、3_1C、_AlD、l正确答案:B7、关于Python程序中与“缩进”有关的说法中,以下选项中正确的是( )A、缩进可以用在任何语句之后,表示语句间的包含关系B、缩进在程序中长度统一且强制使用C、缩进统一为4个空格D、缩进是非强制性的,仅为了提高代码可读性正确答案:B8、二维列表ls=[[1,2,3], [4,5,6],[7,8,9]],以下选项中能获取其中元素9的是( )A、ls[–2][–1]B、ls[–1][–1]C、ls[–1]D、ls[0][–1]正确答案:B9、下面代码的执行结果是( )Def greeting(args1, *tupleArgs, **dictArgs): print(args1)Print(tupleArgs)Print(dictArgs)Names = ['HTY', 'LFF', 'ZH']Info = {'schoolName' : 'NJRU', 'City' : 'Nanjing'} greeting('Hello,', *names, **info)A、Hello, ('HTY', 'LFF', 'ZH') {'schoolName': 'NJRU', 'City': 'Nanjing'}B、['HTY', 'LFF', 'ZH']C、出错D、无输出正确答案:A10、以下选项不属于 Python 整数类型的是( )A、十进制B、八进制C、十二进制D、二进制正确答案:C11、写出下面代码的运行结果。
python快速编程⼊门(第2版)课后答案1. Python概述填空题1. 对象2. 可移植性3. Python4. import5. from…import *判断题1. √2. ×3. ×4. √5. √选择题1. C2. D3. C简答题1. Python主要的特点有代码简洁、语法优美、简单易学、开源、可移植、类库丰富、中⽂⽀持等。
2. Python中可以使⽤关键字import导⼊⼀个或多个模块,也可以使⽤from 模块名 import * 导⼊模块中的全部内容。
3. 模块是最基础的代码组织⽅式,每个包含有组织的代码⽚段的.py⽂件都是⼀个模块;包以类似⽬录的机构组织模块⽂件或⼦包;库是⼀个抽象的概念,它是指具有相关功能模块的集合。
编程题省略,代码详见教材。
1. Python基础填空题1. 42. True False3. type4. 浮点5. 1判断题1. ×2. ×选择题1. A2. A3. D4. B5. C简答题1. 根据数据存储形式的不同,Python使⽤不同的数据类型存储不同类型的数据。
数字类型提供了数值的存储,Python中的数字类型⼜包含整型、浮点型、复数类型和布尔类型。
2. 常量名使⽤⼤写的单个单词或由下画线连接的多个单词(如ORDER_LIST_LIMIT);模块名、函数名使⽤⼩写的单个单词或由下画线连接的多个单词(如low_with_under);类名使⽤⼤写字母开头的单个或多个单词(如Cat、CapWorld)。
3. Python运算符是⼀种特殊的符号,主要⽤于实现数值之间的运算。
根据操作数数量的不同,运算符可分为单⽬运算符、双⽬运算符;根据功能的不同,运算符可分为算术运算符、赋值运算符、⽐较运算符、逻辑运算符和成员运算符。
编程题答案:radius = float(input("请输⼊园的半径:"))# 直径diameter = 2 * radius# ⾯积area = 3.14 * radius * radiusprint('园的直径为:', diameter)print('园的⾯积为:', area)答案:frequency = (29.5 - 4 * 3) / 2.5print("还需运送的次数为:",frequency)1. 流程控制填空题1. if2. for ,while3. True4. for5. continue判断题4. ×5. ×选择题1. C2. C3. C4. C5. B简答题1. break语句⽤于结束整个循环;continue的作⽤是⽤来结束本次循环,紧接着执⾏下⼀次的循环。
选择题1. python程序文件的扩展名是(B)A. pythonB. pyC. ptD. pyt2. Python语言采用严格的“缩进”来表明程序的格式框架。
下列说法不正确的是:CA. 缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系。
B. 代码编写中,缩进可以用Tab键实现,也可以用多个空格实现,但两者不混用。
C. “缩进”有利于程序代码的可读性,并不影响程序结构。
D. 不需要缩进的代码顶行编写,不留空白。
3.以下叙述正确的是CA. Python3.x和Python2.x兼容B. Python语言只能以程序方式执行C. Python是解释型语言D. Python语言出现的晚,具有其他高级语言的一切优点4. 下列关于Python的说法中,错误的是(C)A. Python是从ABC语言发展起来的B. Python是一门高级的计算机语言C. Python是一门只面向对象的语言D. Python是一种代表简单主义思想的语言5.下列选项中,不属于Python特点的是( B )。
A.面向对象B.运行效率高C.可读性好D.开源6.以下叙述中正确的是( C )。
A.Python 3.x与Python 2.x兼容B.Python语句只能以程序方式执行C.Python是解释型语言D.Python语言出现得晚,具有其他高级语言的一切优点7.下列选项中合法的标识符是( D )。
A._7a_b B.break C._a$b D.7ab8.Python不支持的数据类型有( D )。
A.char B.int C.float D.list9.关于Python中的复数,下列说法错误的是( B )。
A.表示复数的语法形式是a+bj B.实部和虚部都必须是浮点数C.虚部必须加后缀j或J D.函数abs()可以求复数的模10.函数type(1+0xf*3.14)的返回结果是( D )。
A.<class 'int'> B.<class 'long'>C.<class 'str'> D.<class 'float'>11.字符串s='a\nb\tc',则len(s)的值是( C )。
Python初学者15道必练题
典型、快捷、有效的练习题
可新科技 | Python培训 | 2021
1: 已知两个整数,编写一段函数,返回它们的乘积,如果结果大于1000,则返回两个数的和。
已知:
2 已知0到9共十个数,编写一个从0开始到9结束的循环,在每一步打印当前数与上一个数的和。
预期返回结果:
5: 已知一个数列,如果数列的首尾数字相同,则返回真。
预期返回结果
6: 已知一个数列,编写一个循环,只打印可以被五整除的数。
预期输出结果:
7: 编写一段函数,返回“Emma”这个单词在一个句子中的出现次数。
输入的句子是“Emma is good developer. Emma is a writer”
期望输出结果为:
参考答案2: 不使用任何字符串函数
8: 编写函数,打印如下的数字组合。
9: 前后颠倒一个已知数,如果其结果与原来的数相同,则返回“此数为回文数”,否则返回“不是回文数”。
期望输出结果:
10: 输入两个数列,编写一个函数,将其合成一个数列,条件是:新数列只收录第一数列里的奇数,及第二个数列里的偶数,返回新的数列。
期望输出的结果:
11: 编写一段代码,从一个整数中间反序提取每一个数字。
期望输出结果:
比如, 如果一个整数是7536, 输出结果应该是“6 3 5 7“,数字之间用空格分开。
参考答案:
12: 已知输入的薪水,根据如下的阶梯所得税规定,计算个人所得税。
13: 打印1到10的乘法口诀表期望输出结果:
参考答案:
14: 打印由“*“字符组成的半个倒金字塔图案。
参考答案:。
Python练习题(附答案)一、单选题(共57题,每题1分,共57分)1.Python中,用于获取用户输入的命令为( )A、inputB、readC、getD、for正确答案:A2.关于Python的分支结构,以下选项中描述错误的是( )A、分支结构使用if保留字B、Python中if-elif-else语句描述多分支结构C、分支结构可以向已经执行过的语句部分跳转D、Python中if-else语句用来形成二分支结构正确答案:C3."给出如下代码TempStr ="Hello World" 可以输出“World”子串的是( )"A、print(TempStr[–5:0])B、print(TempStr[–5:])C、print(TempStr[–5: –1])D、print(TempStr[–4: –1])正确答案:B4.以下不能创建一个字典的语句是 ( )A、dict3 = {[1,2,(2,3)]: “uestc”}B、dict2 = { 3 : 5 }C、dict1 = {}D、dict4 = {(1,2,3): “uestc”}正确答案:A5.关于lambda函数,以下选项中描述错误的是( )A、lambda函数也称为匿名函数B、lambda函数将函数名作为函数结果返回C、定义了一种特殊的函数D、lambda不是Python的保留字正确答案:D6.下列说法中正确的是( )。
A、continue能结束循环,而break只能结束本次循环B、break能结束循环,而continue只能结束本次循环C、break用在for语句中,而continue用在while语句中D、break用在while语句中,而continue用在for语句中正确答案:B7.关于函数的返回值,以下选项中描述错误的是( )A、函数可以有return,也可以没有B、return可以传递0个返回值,也可以传递任意多个返回值C、函数可以返回0个或多个结果D、函数必须有返回值正确答案:D8.下列不合法的Python变量名是( )A、Python2B、Hello_WorldC、N.xD、sum正确答案:C9.下列表达式的值为True的是( )A、not(1==1 and 0!=1)B、1==1 and 2!=1C、3>2>2D、(2**=3)<(2*=3)正确答案:B10.关于Python循环结构,以下选项中描述错误的是( )A、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等B、continue用来结束当前当次语句,但不跳出当前的循环体C、Python通过for、while等保留字构建循环结构D、continue结束整个循环过程,不再判断循环的执行条件正确答案:D11.在Python函数中,用于获取用户输入的是( )A、get()B、input()C、Eval()D、print()正确答案:B12.面代码的执行结果是( ) print(pow(3,0.5)*pow(3,0.5)==3)A、pow(3,0.5)*pow(3,0.5)==3B、FalseC、3D、True正确答案:B13.优先级最高的运算符为( )。
Python练习题1.下面不属于Python特性的是(C)。
A. 简单易学B. 开源免费C. 属于低级语言D. 高可移植性2.Python脚本文件的扩展名为(B)。
A. .pythonB. .pyC. .ptD. .pg3.下面(D)不是有效的变量名。
A. _demoB. appleC. NumD. my-num4.幂运算的运算符为(A)。
A. **B. *C. %D. //5.Python中字符串需要使用特殊字符时,下面(A)作为转义字符。
A. \B. /C. %D. #6.下面优先级最高的运算符为(C)。
A. /B. //C. ()D. *7.使用(D)关键字创建Python自定义函数。
A. functionB. funC. defineD. def8. 构造函数是类的一个特殊函数,在Python中,构造函数的名称为(C)。
A. 与类名称相同B. __constructC. __init__D. init9.在Python类中包含一个特殊的变量(C),它表示当前类自身,可以使用它来引用类中成员变量和成员函数。
A. thisB. initC. selfD. 与类名称相同10.(A)模块是Python标准库中最常用的模块之一。
通过它可以获取命令行参数,从而实现从程序外部向程序内部传递参数的功能,也可以获取程序路径和当前系统平台信息。
A. sysB. mathC. timeD. os11.下面(B)语句在Python中是非法的。
A. x = y = z = 1B. x = (y = z + 1)C. x, y = y, xD. x += y x=x+y12.关于Python内存管理,下列说法错误的是(A)。
A. 变量无须先创建和赋值而直接使用B. 变量不必事先声明C. 变量无须指定类型D. 可以使用del释放资源13. print(100 - 25 * 3 % 4)的输出结果为(D)。
A. 0B. 25C. 1D. 9714.下面(B)不是Python合法的标识符。
Python模拟习题(附答案)一、单选题(共57题,每题1分,共57分)1.下列不合法的Python变量名是( )A、Hello$WorldB、N_xC、Python2D、sum正确答案:A2.以下选项不属于 Python 整数类型的是( )A、十进制B、二进制C、十二进制D、八进制正确答案:C3.以下选项中,不是Python IDE的是( ) -A、PyCharm -B、Jupyter Notebook-C、Spyder-D、R studio正确答案:D4.使用( )关键字来创建python自定义函数。
A、functionB、funcC、procedureD、def正确答案:D5.以下语句的运行结果是>>>Python = “ Python”>>> print (“ study” + Python)A、语法错误B、“study“PythonC、study PythonD、studyPython正确答案:C6.下列( )语句在Python中是非法的A、x = (y = z + 1)B、x, y = y, xC、x += yD、x = y = z = 1正确答案:A7.关于列表数据结构,下面描述正确的是( )A、不支持 in 运算符B、必须按顺序插入元素C、可以不按顺序查找元素D、所有元素类型必须相同正确答案:C8.以下选项中,对CSV格式的描述正确的是( )A、CSV文件以英文特殊符号分隔元素B、CSV文件以英文逗号分隔元素C、CSV文件以英文空格分隔元素D、CSV文件以英文分号分隔元素正确答案:B9.关于Python的无限循环,以下选项中描述错误的是( )A、无限循环通过while保留字构建B、无限循环也称为条件循环C、无限循环一直保持循环操作,直到循环条件不满足才结束D、无限循环需要提前确定循环次数正确答案:D10."下面代码实现的功能描述为( )Def fact(n): if n==0: return 1 else:Return n*fact(n-1)Num =eval(input("请输入一个整数:")) print(fact(abs(int(num))))"A、接受用户输入的整数N,输出N的阶乘值B、接受用户输入的整数N,判断N是否是素数并输出结论C、接受用户输入的整数N,判断N是否是水仙花数D、接受用户输入的整数N,判断N是否是完数并输出结论正确答案:A11.下列函数中,用于返回元组中元素最小值的是( )A、minB、maxD、len正确答案:A12.关于函数的关键字参数使用限制,以下选项中描述错误的是( )A、关键字参数必须位于位置参数之前B、关键字参数顺序无限制C、不得重复提供实际参数D、关键字参数必须位于位置参数之后正确答案:A13.给出下面代码: k=10000 while k>1: print(k) k=k/2 上述程序的运行次数是( )A、1000B、14C、13D、15正确答案:B14.字符串是一个字符序列,例如,字符串s,从右侧向左第2个字符用( )索引?A、s[0:-2]B、s[2]C、s[:-2]D、s[-2]正确答案:D15.下列运算符的使用错误的是( )A、-10 % -3B、3 * ‘abc’C、[1, 2, 3] + [4, 5, 6]D、1 + ‘a’正确答案:D16.下面代码的执行结果是( )>>> def area(r, pi = 3.14159): return pi * r * r>>> area(3.14, 4)A、39.4384B、出错C、50.24正确答案:A17."下面代码的输出结果是( ) for a in ‘mirror’: print(a, end="") if a == ‘r’: break"A、miB、mirrorC、mirD、Mirror正确答案:C18.使用( )关键字声明匿名函数A、funcB、functionC、defD、lambda正确答案:D19.下面代码的输出结果是>>> hex(255)A、‘0bff’B、‘0xff’C、'0offD、'0eff正确答案:B20.已知x=2,语句x*=x+1执行后,x的值是( )A、6B、3C、2D、4正确答案:A21.已知x=10,y=20,z=30;以下语句执行后x,y,z的值是()。
可爱的python习题答案status校对lizzie 完成度100%CDays-51. 计算今年是闰年嘛?判断闰年条件, 满足年份模400为0, 或者模4为0但模100不为0.o源代码Toggle line numbers1 #coding:utf-82 '''cdays-5-exercise-1.py 判断今年是否是闰年3 @note: 使用了import, time模块, 逻辑分支, 字串格式化等4 '''56 import time #导入time模块7 thisyear = time.localtime()[0] #获取当前年份8 if thisyear % 400 == 0 or thisyear % 4 ==0 and thisyear %100 <> 0: #判断闰年条件, 满足模400为0, 或者模4为0但模100不为09 print 'this year %s is a leap year' % thisyear10 else:11 print 'this year %s is not a leap year' % thisyear12o运行截屏2. 利用python作为科学计算器。
熟悉Python中的常用运算符,并分别求出表达式12*34+78-132/6、(12*(34+78)-132)/6、(86/40)**5的值。
并利用math模块进行数学计算,分别求出145/23的余数,0.5的sin和cos值(注意sin和cos中参数是弧度制表示)提醒:可通过import math; help("math")查看math帮助.o源代码Toggle line numbers1 #coding:utf-82 '''cdays-5-exercise-2.py 求表达式的值3 @note: 基本表达式运算, 格式化输出, math模块4 @see: math模块使用可参考/lib/module-math.html5 '''67 x = 12*34+78-132/6 #表达式计算8 y = (12*(34+78)-132)/69 z = (86/40)**51011 print '12*34+78-132/6 = %d' % x12 print '(12*(34+78)-132)/6 = %d' % y13 print '(86/40)**5 = %f' % z1415 import math #导入数学计算模块1617 a = math.fmod(145, 23) #求余函式18 b = math.sin(0.5) #正弦函式19 c = math.cos(0.5) #余弦函式2021 print '145/23的余数 = %d' % a22 print 'sin(0.5) = %f' %b23 print 'cos(0.5) = %f' %c24o运行截屏3. 找出0~100之间的所有素数。
o源代码Toggle line numbers1 #coding:utf-82 '''cdays-5-exercise-3.py 求0~100之间的所有素数3 @note: for循环, 列表类型4 @see: math模块使用可参考/lib/module-math.html5 '''67 from math import sqrt89 N = 10010 #基本的方法11 result1 = []12 for num in range(2, N):13 f = True14 for snu in range(2, int(sqrt(num))+1):15 if num % snu == 0:16 f = False17 break18 if f:19 result1.append(num)20 print result12122 #更好的方法23 result2 = [ p for p in range(2, N) if 0 not in [ p%d for d in range(2, int(sqrt(p))+1)] ]24 print result225o运行截屏CDays-41. os 模块中还有哪些功能可以使用? -- 提示使用dir()和help()o os模块中还有很多功能,主要的有以下些:▪os.error, os.path, os.popen, os.stat_result, os.sys, os.system等等等,详细可参见dir("os")和Python帮助文档help("os")2. open() 还有哪些模式可以使用?o open()有以下几种模式:▪'r': 以只读方式打开已存在文件,若文件不存在则抛出异常。
此方式是默认方式▪'U'或者'rU': Python惯例构造了通用换行支持;提供'U'模式以文本方式打开一个文件,但是行可能随时结束:Unix的结束符规定为'\n',苹果系统则为'\r',还有Windows规定为'\r\n',所有这些规定在Python程序中统一为'\n'.▪'w': 以可写方式打开存在或者不存在的文件,若文件不存在则先新建该文件,若文件存在则覆盖该文件▪'a': 用于追加,对unix系统而言,所有的内容都将追加到文件末尾而不管指针的当前位置如何▪'b': 以二进制方式打开。
打开一个二进制文件必须用该模式。
增加'b'模式是用来兼容系统对当二进制和文本文件的处理不同▪'r+','w+'和'a+'以更新方式打开文件(注意'w+'覆盖文件)3. 尝试for .. in ..循环可以对哪些数据类型进行操作?o for..in循环对于任何序列(列表,元组,字符串)都适用。
但从广义说来可以使用任何种类的由任何对象组成的序列4. 格式化声明,还有哪些格式可以进行约定?o格式化申明o详细:/lib/typesseq-strings.html (精巧地址: http://bit.ly/2TH7cF)▪d Signed integer decimal.▪i Signed integer decimal.▪o Unsigned octal.▪u Unsigned decimal.▪x Unsigned hexadecimal (lowercase).▪X Unsigned hexadecimal (uppercase).▪e Floating point exponential format (lowercase).▪E Floating point exponential format (uppercase).▪f Floating point decimal format.▪F Floating point decimal format.▪g Floating point format. Uses exponential format if exponent isgreater than -4 or less than precision, decimal format otherwise.▪G Floating point format. Uses exponential format if exponent isgreater than -4 or less than precision, decimal format otherwise.▪c Single character (accepts integer or single character string).▪r String (converts any python object using repr()).▪s String (converts any python object using str()).▪% No argument is converted, results in a "%" character in theresult.5. 现在的写入文件模式好嘛? 有改进的余地?o CDay-4-5.py 好在哪里?Toggle line numbers1 # coding : utf-823 import os45 export = ""6 for root, dirs, files in os.walk('/media/cdrom0'):7 export+="\n %s;%s;%s" % (root,dirs,files)8 open('mycd2.cdc', 'w').write(export)9o CDay-4-6.py又更加好在哪里?1 # coding : utf-823 import os45 export = []6 for root, dirs, files in os.walk('/media/cdrom0'):7 export.append("\n %s;%s;%s" %(root,dirs,files))8 open('mycd2.cdc', 'w').write(''.join(export))9o CDay-4-5.py中使用了字符串的+连接,而CDay-4-6.py中是利用join。
字符串的join要比+操作效率高。
因为对象的反复+,比一次性内建处理,要浪费更多的资源。
6. 读取文件cdays-4-test.txt内容,去除空行和注释行后,以行为单位进行排序,并将结果输出为cdays-4-result.txt。
o cdays-4-test.txto#some wordsoo Sometimes in life,o You find a special friend;o Someone who changes your life just by being part of it.o Someone who makes you laugh until you can't stop;o Someone who makes you believe that there really is good in the world.o Someone who convinces you that there really is an unlocked door just waiting for you to open it.o This is Forever Friendship.o when you're down,o and the world seems dark and empty,o Your forever friend lifts you up in spirits and makes that dark and empty worldo suddenly seem bright and full.o Your forever friend gets you through the hard times,the sad times,and the confused times.o If you turn and walk away,o Your forever friend follows,o If you lose you way,o Your forever friend guides you and cheers you on.Your forever friend holds your hand and tells you thateverything is going to be okay.o源代码1 #coding:utf-82 '''cdays-4-exercise-6.py 文件基本操作3 @note: 文件读取写入, 列表排序, 字符串操作4 @see: 字符串各方法可参考hekp(str)或Python在线文档/lib/string-methods.html5 '''67 f = open('cdays-4-test.txt', 'r')#以读方式打开文件8 result = list()9 for line in f.readlines():#依次读取每行10 line = line.strip()#去掉每行头尾空白11 if not len(line) or line.startswith('#'):#判断是否是空行或注释行12 continue#是的话,跳过不处理13 result.append(line)#保存14 result.sort()#排序结果15 print result16 open('cdays-4-result.txt', 'w').write('%s' %'\n'.join(result)) #保存入结果文件17o运行截屏CDays-31. 根据DiPy 10.6. 处理命令行参数(/diveintopython/scripts_and_streams/command_line_arguments.html精巧地址:http://bit.ly/1x5gMw)使用getopt.getopt()优化当前功能函式。