Python核心编程(第二版)第三,四章课后习题部分答案代码.docx

合集下载

python核心编程第二版第3章习题答案

python核心编程第二版第3章习题答案

3-1.标识符。

为什么Python中不需要变量名和变量类型声明?答案:Python语言中对象的类型和内存都是运行时确定的。

在创建也就是赋值时,解释器会根据语法和右侧的操作数来决定新对象的类型。

因为变量在第一次赋值的时候就被自动声明了。

Python是无类型的语言。

Python既是动态类型语言(因为它不使用显示数据类型声明,在运行期间才去确定数据类型),又是强类型语言(因为只要一个变量获得了一个数据,它就一直就是这个数据的数据类型)。

3-2.标识符。

为什么Python中不需要声明函数类型?答案:函数没有定义返回的数据类型。

Python不需要指定返回值的数据类型;甚至不需要指定是否有返回值。

实际上,每个Python函数都返回一个值;如果函数执行过return语句,它将返回指定的值,否则将返回None(Python的空值)。

3-3.标识符。

为什么应当避免在变量名的开始和结尾使用双下划线?答案:因为变量名__xxx__对Python来说有特殊含义,对于普通的变量应当避免这种命名风格。

3-4.语句。

在Python中一行可以书写多个语句吗?答案:可以3-5.语句。

在Python中可以将一个语句分成多行书写吗?答案:可以3-6.变量赋值。

(a)赋值语句x, y, z = 1, 2, 3会在x、y、z中分别赋什么值?(b)执行z, x, y = y, z, x后,x、y、z中分别含有什么值?答案:(a)x = 1, y = 2, z = 3(b)x = 3, y = 1, z = 23-7.标识符。

下面哪些是Python合法的标识符?如果不是,请说明理由。

在合法的标识符中,哪些是关键字?int32 40XL $aving$ printf print_print this self __name__ 0X40Lbool true big-daddy 2hot2touch typethisIsn'tAVar thisIsAVar R_U_Ready Int Trueif do counter-1 access -答案:Python标识符字符串规则和其他大部分用C便携的高级语言相似:第一个字符必须是字母或下划线'_';剩下的字符可以是字母数字或下划线;大小写敏感。

python核心笔记

python核心笔记
字符串列表和元组16第七章映射和集合类型18第八章条件和循环20第九章文件和输入输出22第十章错误和异常23第十一章函数和函数式编程25第十二章模块27第十三章面向对象编程29第十四章执行环境部分高级主题34第十五章正则表达式34第十六章网络编程37第十七章网络客户端编程39第十八章多线程编程40第十九章图形用户界面编程42第二十章web编程
第一部分:Python 核心............................................................................................................. 6 第一章 欢迎来到 Python 世界............................................................................................... 6 第二章 快速入门 .................................................................................................................... 8 第三章 Python 基础.............................................................................................................. 10 第四章 Python 对象.............................................................................................................. 12 第五章 数字 .......................................................................................................................... 14 第六章 序列:字符串、列表和元组 .................................................................................. 16 第七章 映射和集合类型 ...................................................................................................... 18 第八章 条件和循环 .............................................................................................................. 20 第九章 文件和输入输出 ...................................................................................................... 22 第十章 错误和异常 .............................................................................................................. 23 第十一章 函数和函数式编程 .............................................................................................. 25 第十二章 模块 ...................................................................................................................... 27 第十三章 面向对象编程 ...................................................................................................... 29 第十四章 执行环境 .............................................................................................................. 32

python核心编程中文版(第二版)

python核心编程中文版(第二版)
if balance > 0.00: if balance - amt > min_bal and atm_cashout(): print "Here's your cash; please take all bills." else: print 'Your balance is zero or negative.'
EditByVheavens
EditByVheavens
8.3 elif (即 else-if )语句
if expression: expr_true_suite else: expr_false_suite
这里是样例代码:
if passwd == user.passwd: ret_str = "password accepted" id = user.id valid = True else: ret_str = "invalid password entered... try again!" valid = False
Python 中的 if 子句看起来十分熟悉. 它由三部分组成: 关键字本身, 用于判断结果真假的 条件表达式, 以及当表达式为真或者非零时执行的代码块. if 语句的语法如下:
if expression: expr_true_suite
if 语句的 expr_true_suite 代码块只有在条件表达式的结果的布尔值为真时才执行, 否则将 继续执行紧跟在该代码块后面的语句.
Python 的缩进使用强制使代码正确对齐, 让程序员来决定 else 属于哪一个 if . 限制您的选 择从而减少了不确定性, Python 鼓励您第一次就写出正确的代码. 在 Python 中制造出 "悬挂 else" 问题是不可能的, 而且, 由于大括号不再被使用, Python 代码更易读懂.

Python核心编程第三版课后习题解答(第二章)

Python核心编程第三版课后习题解答(第二章)

Python核心编程第三版课后习题解答——第二章2-1.面向连接的套接字和无连接的套接字之间的区别是什么?面向连接的:通信之前必须先建立起一个连接,提供序列化的,可靠的和不重复的数据交付,而没有边界记录。

无连接的:在通信开始之前并不需要建立连接,在数据传输过程中并无法保证它的顺序性,可靠性或重复性。

2-2.用自己的话描述客户端/服务器架构的意思。

服务器就是一系列硬件或软件,为一个或多个客户端(服务的用户)提供所需的“服务”。

它存在唯一目的就是等待客户端的请求,并响应它们(提供服务),然后等待更多的请求。

客户端因特定的请求而联系服务器,并发送必要的数据,然后等待服务器的回应,最后完成请求或给出故障的原因。

2-3.TCP和UDP之中,哪种类型的服务器接受连接,并将它们转换到独立的套接字进行客户端通信?TCP。

2-4.客户端。

更新Tcp和Udp客户端,以使得服务器名称无需硬编码到应用程序中。

此外,应该允许用户指定主机名和端口号,且如果二者中任何一个或者全部参数丢失,那么应该使用默认值。

[python]view plain copy1.<span style="font-family:'Comic Sans MS';font-size:18px;">from socket import *2.3.DefaultHOST = 'localhost'4.DefaultPORT = 12365.BUFSIZ = 10246.def GetAddr():7. Host = raw_input("Please input host:")8. Port = raw_input("Please input port:")9.return Host, int(Port)10.11.Host, Port = GetAddr()12.13.if not Host:14. Host = DefaultHOST15.if not Port:16. Port = DefaultPORT17.18.ADDR = (Host, Port)19.20.tcpCliSock = socket(AF_INET, SOCK_STREAM)21.tcpCliSock.connect(ADDR)22.23.while True:24. data = raw_input('> ')25.if not data:26.break27. tcpCliSock.send(data)28. data = tcpCliSock.recv(BUFSIZ)29.print data30.31.tcpCliSock.close()</span><span style="font-family:'Microsoft YaHei';font-size:24px;"><strong>32.</strong></span>2-5.网络互接和套接字。

Python核心编程第二版(中文).pdf目录整理

Python核心编程第二版(中文).pdf目录整理

Python核⼼编程第⼆版(中⽂).pdf⽬录整理python核⼼编程⽬录Chapter1:欢迎来到python世界!-页码:71.1什么是python1.2起源:罗萨姆1989底创建python1.3特点1.3.1⾼级1.3.2⾯向对象1.3.3可升级1.3.4可扩展1.3.5可移植性:python使⽤C写的。

1.3.6易学1.3.7易读1.3.8易维护1.3.9健壮性1.3.10⾼效的快速原型开发⼯具1.3.11内存管理器:内存管理由python解释器负责,开发仅仅致⼒于开发计划中的应⽤程序。

1.3.12解释性和(字节)编译性:⽆需编译,当执⾏py⽂件,会⽣成.pyc或.pyo⽂件1.4下载和安装python1.5运⾏python1.5.1命令⾏的交互式解释器1.5.2从命令⾏启动脚本1.5.3集成开发环境1.5.4其他的集成开发环境和执⾏环境1.6python⽂档1.7⽐较python(python与其他语⾔的⽐较)Chapter2:Python起步-页码:31注:语句和表达式的区别语句是使⽤关键词来组成命令,告诉解释器要做什么。

表达式没有关键词,可以使算术表达式,也可以是使⽤括号调⽤的函数。

2.1程序输出,print语句及“Hello World” :print是关键字Print ‘%s is number %d!’%(‘python’,1) #print与字符串格式运算符(%)结合使⽤。

2.2程序输⼊和raw_input()内建函数:raw_input()是内建函数2.3注释#2.4运算符 :算数运算符+ - * / // % ** ⽐较运算符,逻辑运算符2.5变量和赋值2.6数字:int,long,bool,float,complex(复数)2.7字符串2.8列表[]和元组()2.9字典{}2.10代码块及缩进对齐2.11 if语句2.12 while循环2.13 for循环和range()内建函数: enumerate()内建函数可循环索引和元素2.14列表解析:可使⽤for循环将所有值放在⼀个列表⾥。

Python习题(含答案)

Python习题(含答案)

Python习题(含答案)一、单选题(共57题,每题1分,共57分)1.关于Python字符编码,以下选项中描述错误的是()A、Python可以处理任何字符编码文本B、Python默认采用Unicode字符编码C、chr(x)将字符转换为Unicode编码D、ord(x)和chr(x)是一对函数正确答案:C2.下列语句中,()在Python中是非法的。

A、x=(y=z+1)B、x=y=z=1C、x+=yD、x,y=y,x正确答案:A3.以下关于Python循环结构的描述中,错误的是()A、continue只结束本次循环B、break用来结束当前次语句,但不跳出当前的循环体C、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数D、Python通过for、while等保留字构建循环结构正确答案:B4.字典的____________方法返回字典的“键”列表A、items()B、keys()C、key()D、values()正确答案:B5.关于文件关闭的.close()方法,以下选项中描述正确的是()A、如果文件是只读方式打开,仅在这种情况下可以不用.close()方法关闭文件B、文件处理结束之后,一定要用.close()方法关闭文件C、文件处理遵循严格的“打开-操作-关闭”模式D、文件处理后可以不用.close()方法关闭文件,程序退出时会默认关闭正确答案:D6.以下选项中,不是Python语言合法命名的是()A、MyGodB、MyGod5C、5MyGodD、MyGod_正确答案:C7.random.uniform(a,b)的作用是()A、生成一个[a,b]之间的随机整数B、生成一个(a,b)之间的随机数C、生成一个均值为a,方差为b的正态分布D、生成一个[a,b]之间的随机小数正确答案:D8."下面代码的执行结果是()>>>x="HappyBirthdaytoyou!">>>x*3"A、系统报错B、HappyBirthdaytoyou!C、HappyBirthdaytoyou!HappyBirthdaytoyou!HappyBirthdaytoyou!’D、HappyBirthdaytoyou!HappyBirthdaytoyou!HappyBirthdaytoyou!正确答案:C9."当键盘输入”3”的时候,以下程序的输出结果是()r=input("请输入半径:")Ar=3.1415*r*rprint("{:.0f}".format(ar))"A、28B、28.27C、29D、TypeError正确答案:D10.Python3.x版本的保留字总数是()A、27B、16C、29D、33正确答案:D11."下面代码的输出结果是()forsin“HelloWorld”:ifs==“W”:continueprint(s,end="")"A、WorldB、HelloorldC、HelloD、HelloWorld正确答案:B12.关于Python的复数类型,以下选项中描述错误的是()A、复数的虚数部分通过后缀“J”或“j”来表示D、对于复数z,可以用z.real获得实数部分B、对于复数z,可以用z.imag获得实数部分C、复数类型表示数学中的复数正确答案:B13.有一个函数关系表如下所示:下面程序段中,能正确表示上面关系的是()A、y=x+1Ifx>=0:ifx==0:Y=xElse:Y=x-1B、y=x-1Ifx!=0:ifx>0:Y=x+1Else:Y=xC、ifx<=0:Ifx<0:y=x-1Else:Y=xElse:Y=x+1D、y=xifx<=0:ifx<0:Y=x-1Else:Y=x+1正确答案:C14.下列哪种说法是错误的是()A、除字典类型外,所有标准对象均可以用于布尔测试B、空字符串的布尔值是FalseC、空列表对象的布尔值是FalseD、值为0的任何数字对象的布尔值是False正确答案:A15.二维列表ls=[[1,2,3],[4,5,6],[7,8,9]],以下选项中能获取其中元素9的是()A、ls[–2][–1]B、ls[–1]C、ls[0][–1]D、ls[–1][–1]正确答案:D16.列表ls=[1,2,3,4,5,6,[7,8,9]],以下选项中描述正确的是()A、ls可能是一维列表B、ls可能是二维列表C、ls可能是多维列表D、ls可能是高维列表正确答案:A17.数学关系表达式3x10表示成正确的Python表达式为A、3<=xandx<10B、x<=3orx<=10C、3<=xandx<=10D、3<=x<10正确答案:C18.字符串是一个字符序列,例如,字符串s,从右侧向左第2个字符用()索引?A、s[:-2]B、s[2]C、s[-2]D、s[0:-2]正确答案:C19.下面代码的输出结果是>>>hex(255)A、‘0xff’B、'0effC、‘0bff’D、'0off正确答案:A20.关于Python语句P=–P,以下选项中描述正确的是()A、P的绝对值B、给P赋值为它的负数C、P=0D、P等于它的负数正确答案:B21.在print函数的输出字符串中可以将()作为参数,代表后面指定要输出的字符串A、%cB、%tC、%sD、%d正确答案:C22.下列哪一项不属于while循环语句的循环要素A、循环变量变化的语句B、输出语句的确定C、循环体D、循环变量的初值和终值正确答案:B23.当打开一个不存在的文件时,以下选项中描述正确的是()A、一定会报错B、根据打开类型不同,可能不报错C、不存在文件无法被打开D、文件不存在则创建文件正确答案:B24.关于文件的打开方式,以下选项中描述正确的是()A、文件只能选择二进制或文本方式打开B、所有文件都可能以文本方式打开C、文本文件只能以文本方式打开D、所有文件都可能以二进制方式打开正确答案:D25.下列程序的结果是()。

python核心编程第二版课后题答案第五章

python核心编程第二版课后题答案第五章

def ji(x1, x2):'''5-2 返回两个数的乘积'''return x1*x2def grade(score):'''5-3 输入乘积0~100份之内,返回评分'''if 90<=score<=100:return 'A'elif 80<=score<=89:return 'B'elif 70<=score<=79:return 'C'elif 60<=score<=69:return 'D'elif 60>score:return 'F'def isleapyear(year):'''5-4 输入年份,判断是否是闰年,年份小于172800年有效''' if (year%4==0 and year%100 !=0) or year%400==0: return Truereturn Falsedef minmoney(money):'''5-5 将任意一个美元(小于1美元)分成硬币由1美分,5美分,10美分,25美分且硬币数量是最少的一种组合方式'''m1 = int(money*100)m25 = m1/25m1 -= m25*25m10 = m1/10m1 -= m10*10m5 = m1/5m1 -= m5*5# 1美分,5美分,10美分,25美分return [m1,m5,m10,m25]def computer(cmd):'''5-6 输入类似x * y 这样的式子,自动获得值'''ops = ['+','-','**','/','%','*']for op in ops:if op in cmd:cmds = cmd.split(op)cmds[0]=float(cmds[0])cmds[1]=float(cmds[1])if op == '+':return sum(cmds)if op == '-':return cmds[0]-cmds[1]if op == '**':return pow(cmds[0],cmds[1])if op == '/':return cmds[0]/cmds[1]if op == '%':return cmds[0]%cmds[1]if op == '*':return cmds[0]*cmds[1]def tax(value, tax=0.17):'''5-7 输入价格,获得营业税,这里假设税金是20%''' import decimalvalue = decimal.Decimal(str(value))tax = decimal.Decimal(str(tax))return value*taxdef square(x,y=None):'''5-8(a)-1 求正方形或者长方形面积'''if y == None:y = xreturn x*ydef cube(x,y=None,h=None):'''5-8(a)-2 求立方体的体积'''if y==None:y=xif h==None:h=xreturn x*y*hdef circle(r):'''5-8(b)-1 求圆的面积'''import mathreturn 2*math.pi*rdef sphere(r):'''5-8(b)-2 求球的体积'''import mathreturn 4./3*math.pi*r**3def f2c(f):'''5-10 华氏度转摄氏度FahrenheitDegree to CelsiusDegree''' return (f-32)*(5./9)def even(l):'''5-11(a) 求列表中数字的偶数'''rl = []for i in l:if i%2==0:if i in rl:continuerl.append(i)return sorted(rl)def odd(l):'''5-11(b) 求列表中数字的奇数'''rl = []for i in l:if i%2 != 0:if i in rl:continuerl.append(i)return sorted(rl)def individe(x,y):'''5-11(d) 是否能整除'''if x%y==0:return Truereturn Falsedef numinfo():'''5-12 输出当前系统关于数字的范围'''import sysl = {}maxint = sys.maxintminint = -maxintmaxlong = sys.maxsizeminlong = -maxlongmaxfloat = sys.float_info.maxminfloat = sys.float_info.minl['maxint'],l['minint'],l['maxlong'],l['minlong'],l['maxfloat'],l['minfloat'] = \ maxint,minint,maxlong,minlong,maxfloat,minfloatreturn ldef time2minute(time):'''5-13 将由小时和分钟表示的时间转换成只有分钟的时间'''times = time.split(':')return int(times[0])*60+int(times[1])def banktax(interest):'''5-14 返回年回报率'''import decimalreturn (decimal.Decimal(1)+decimal.Decimal(str(interest)))**365def gcd(num1,num2):'''5-15-1 最大公约数'''mins = num1cd = Noneif num2 < num1:num1,num2 = num2,num1cds = []for i in range(1, num1+1):if num1%i == 0:cds.append(i)cdslen = len(cds)for i in range(0,cdslen):if num2%cds[(cdslen-i-1)]==0:cd = cds[(cdslen-i-1)]breakreturn cddef lcm(num1,num2):'''5-15-2 最小公倍数'''# 需要gcd 函数cd = gcd(num1,num2)a = num1/cdb = num2/cdreturn cd*a*bdef payment(startmoney,monthout):'''5-16 给定初始金额和月开销数'''# 最大序号max = float(startmoney)/monthoutif not max.is_integer():max+=1max = int(max)# 格式化输出sapp = 3 - (len(str(startmoney)) - len(str(int(startmoney)))) # 3其实就是'.00' 的长度,sapp表示startmoney增加mapp = 3 - (len(str(monthout)) - len(str(int(monthout)))) # 后面其实是输入数据的数字长度减去他的整型部分slen = str(len(str(startmoney))+sapp) # startmoney 长度加上小数部分的补差长度mlen = str(len(str(monthout))+mapp) # monthout lengthstring = '%d\t$%'+mlen+'.2f\t$%'+slen+'.2f' # 输出格式L1, L2, L3 = len(str(max)), int(mlen)+1, int(slen)+1 # L1 L2 L3 第一第二第三栏宽度if L1 <5:L1 = 5print 'Amount Remaining'print 'Pymt#'.center(L1)+'\t'+'Paid'.center(L2)+'\t'+'Balance'.center(L3)print '-'*L1+'\t'+'-'*L2+'\t'+'-'*L3print string %(0,0,startmoney)for i in range(1,max+1):if startmoney>=monthout:startmoney-=monthoutelse:monthout = startmoneystartmoney = 0print string %(i,monthout,startmoney)def randomlist():'''5-17 生成N个元素由随机数n组成的列表其中1<N<=100 0<=n<=231 -1并排序'''import randomN = [i for i in xrange(2,101)]n = [i for i in xrange(-1,232)]Nn = random.choice(N)Return = []for i in xrange(0,Nn):num = random.choice(n)n.remove(num) # 从n 列表中删除已经选过的数字Return.append(num)return sorted(Return)。

【02】Python核心编程(全)

【02】Python核心编程(全)

【02】Python核⼼编程(全)⼀、浅拷贝和深拷贝1.浅拷贝 是对于⼀个对象的顶层拷贝,通俗的理解是:拷贝了引⽤,并没有拷贝内容。

相当于把变量⾥⾯指向的⼀个地址给了另⼀个变量就是浅拷贝,⽽没有创建⼀个新的对象,如a=b。

2.深拷贝 ⾸先要import copy,然后c = copy.deepcopy(a),就表⽰把a的内容深拷贝到c中,如果发现了a中也存在引⽤的内容,则递归拷贝,也就是把当前的这个引⽤的对象继续深拷贝。

3. copy和deepcopy的区别 ①copy:浅拷贝,⾥⾯如果有可变类型,修改这个可变类型(如list),被拷贝的对象也会相应改变,仅仅拷第⼀层,如果是不可变类型,就⼀层都不拷,如果是可变类型就拷⼀层。

②deepcopy:深拷贝,⾥⾯不管是可变类型和不可变类型,被拷贝的对象都不会受到影响,递归拷贝。

4.copy和deepcopy拷贝元组的特点 使⽤copy模块的copy功能的时候,它会根据当前拷贝的数据类型是可变类型还是不可变类型有不同的处理⽅式,如元组是不可变类型,拷贝多份没有⽤,对copy来说,如果是可变类型就拷⼀层,如果是不可变类型,就⼀层都不拷。

⼆、属性property1.属性property-1 ①私有属性添加getter和setter⽅法 ②使⽤property升级getter和setter⽅法num = property(getNum,setNum) 注意: Num到底是调⽤getNum()还是setNum(),要根据实际的场景来判断,值得注意的是⼀定要先填getNum后setNum。

如果是给t.num赋值,那么⼀定调⽤setNum()。

如果是获取t.num的值,那么就⼀定调⽤getNum()。

property的作⽤:相当于把⽅法进⾏了封装,开发者在对属性设置数据的时候更⽅便。

2.属性property-2class Money(object):@property #修饰器def num(self):print("------getter-----")return self.__num@num.setter #修饰器def num(self,new_num):print("------setter------")self.__num = new_numt.num = 20print(t.num)三、迭代器1.迭代器 迭代是访问集合元素的⼀种⽅式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python核心编程(第二版)第三,四章课后习题部分答案代码Python核心编程(第二版)课后习题部分代码(3-4章)(持续更新)文章分类:Python编程本人近期研究了下Python,所用的书籍主要是Python核心编程(第二版)等,在此期间,我对书后的习题(编码部分)进行了实现,rti 于此书课后没有答案(英文版的答案也不全,我看的是电子书,不知道买的书后有没有答案),所以,在此把我的实现分享一下,希望对初学者有帮助。

由于本人水平有限,在实现的编码中肯定有不合理的地方,希望大虾指出,我及时更正,大家共同交流。

3-12 (第三章当时做的时候有些没实现,有时间补上)Python代码,,,,,@author: Riquelqi,,,#!/user/bin/env pythonimport osls=os.linesepdef write():content=[]ttlnput a filename・fname=raw_input("Please input a filename:%s〃%ls)print "Please input content (Quit with lines=raw input (〃>〃)while lines!二〃q〃:content. append(lines)lines=raw_input(“〉“)afile=open(fname, "w〃)afile. writelines(〃%s%s〃%(line, Is)for line in content)afile. close()print 〃D0NE!〃,def read ():ttinput a filenamefname=raw_inputPlease input a #To be sure that the file path if notos.path ・exists(fname): print ,zFiledoesn't exists!,z else:af ile=open(fname,' r ) for line in afile.readlineO print line,print '\nD0NE!‘if _name_二二' main ―':input 二 rawinput (“"Please input your commend| —r 1 — read - 一一 w 1 write - —q 1 quit— Please input your commend〃 〃 〃)while input!二'q':if input 二二'r :read ()elif input 二二'w': write () input=raw_input (〃〃〃 Please input your commend -I--| r read一一| wwrite filena.me:%s' %ls) exists©author: Riquelqi,,,#!/user/bin/env pythonimport osIs 二os. linesepdef write():content :]]#Input a filename ・ fname=raw_input(''Please input afilename:%s ,z %ls) print "Please input content (Quit with 'q'):〃 lines 二rawinput (“>〃)while lines!=〃q 〃:content, append(1 ines) lines=raw_input (“>〃) afile=open(fname, 〃w 〃)af ile .writel in es C ,%s%s,,%(line, Is) for line in con tent)af ile. close ()print 〃D0NE!〃,def read ():#input a filename fname=raw_input C Please input afilename:%s J %ls)#To be sure that the file path exists if not os.path ・exists(fname):print 〃File doesn ,t exists!/z else:afile=open(fname,' r ) for line in afile ・readline(): print ― qPlease 〃 〃 〃quit input your commend|line, print '\nD0NE!'if _name_二二'—main―':input 二rawinput (“"Please input your commendr readw write1 q quitPlease input your commendwhile input!二'q':if input二二'r :read ()elif input二二'w': write ()input 二rawinput (“"Please input your commend| -I -----| r read |一一w write-- q I quit |Please input your commend 〃〃〃)4-6(第四章感觉没有什么,不过以下我的这段练习,有助于4-6 题的理解,并且这段代码也说明了很多知识)Python代码,,,,,@a.uthor: Riquelqi,,,#To import like this is better than import types , because we willuse the property like that types.1ntType・・・#It will select twicefrom types import IntType, FloatType, LongType, ComplexTypedef display_Number_Best(number):print number, ' is',if isinstance(number, (int, long, float, complex)):print 'a number of type:J , type (number)._name_ else:print 'not a number at all',def display_Number_Worst(number):print number,' isif type (number)==type(0):print 'a number of type / , type(0)._name_ elif type (number) =type (0L):print 'a number of type:type(0L)・_name_ elif type (number) =type (0.0):print 'a number of type / , type(0.0)._name_ elif type (number) =type (0. 0+0. Oj):print 'a number of type / , type(0・0+0・0j)・_name__ else :print 'not a number at alTdef display_Number_Better(number):print number,' isif type(number) is IntType: print 'a number of type: int,elif type (number) is FloatType: print 'a number of type:float,elif type(number) is LongType:print 'a number of type:Long,elif type(number) is ComplexType: print 'a number oftype:Complex,else:print 'not a number at alTdef display_Number_Good(number):print number,' is'if type (number)二二IntType: print 'a number of type: int,elif type (number)二二FloatType: print 'a number oftype:float,elif type(number)二二LongType:print 'a number of type:Long,elif type(number)二二ComplexType: print 'a number of type:Complex,else:print 'not a number at alTif _name_=' _main_':d i sp1ay_Numb er_Be s t(94) display_Number_Best(-64)disp1ay_Number_Best(10. 3232)display_Number_Best(777777777777777777777777)display_Number_Best(10. 0+10. Oj) display_Number_Best C qq') # d i s p1ay_Numb er_Wor s t(554454)#display_Number_Worst(10. 11)#display_Number_Worst 仃0. 0+10. Oj)# d i s p1ay_Numb er_Wor s t Csdfsdfsd")# d i s p1ay_Numb er_B e 11 er(45654)# d i sp1ay_Number_Be11er(10. 0)#display_Number_Better(10. 0+10. Oj)# d i s p1ay_Numb er_B e 11 er(8888888888888888)#display_Number_Better C xxx')# d i s p1ay_Numb er_Good(21554)#display_Number_Good(8888888888888888888888888)#di sp1ay_Number_Good(10. 0)#display_Number_Good(10. 0+10. Oj) #display_Number_Good (' my,)。

相关文档
最新文档