1、Python语言程序设计课时作业四Python语言程序设计课时作业四平时作业说明:(1)平时作业只需提供答案,不用抄题。(2)平时作业答案可打印,也可手写。特别提醒:需写上姓名和学号。(3)所有平时作业答案都等到期末与课程设计报告一起提交。具体提交办法期末时公布。知识点:函数、模块、文件操作、异常处理与面向对象程序设计一、程序填空题(为便于阅卷,不用抄题,只提交各小题答案)请将每个小题的答案写在实验报告中提交。(不用抄题,只提交答案即可)1. 下面程序的功能是从键盘读入一个正整数,将其转换为二进制数,并输出之。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达
2、式将程序补充完整。源程序:def f(n): if(n=0): return else: f(_) print(n%2,end=)def main(): x=eval(input(x=) print(0b,end=) f(x)main()2. 下面程序的功能是从键盘读入一个正整数,将其转换为十六进制数,并输出之。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:def f(n): global s if(n=0): return else: f(n/16) print(s_,end=)def main(): global s s=01
3、23456789ABCDEF x=eval(input(x=) print(0x,end=) f(x)main()3. 下面程序的功能是模拟系统登录过程。从键盘读入一个账号的密码,如果输入的密码正确,就显示“欢迎光临!”;如果输入的密码错误,则显示“密码错误!”;如果用户输入的密码连续错误3次,则显示“你不是合法用户!”。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:def f(): _ if(n3): print(你不是合法用户!) return else: k=input(请输入密码:) if(k=123): print(欢迎
4、光临!) x=input(继续?(y/n)) if (x=y or x=Y): n=1 f() else: return else: print(密码错误!) n=n+1 f()def main(): global n n=1 f()main()4. 下面程序的功能是遍历输出当前工作目录中的所有文件和文件夹。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:_s=path=os.getcwd()f=os.walk(path)for dirpath,dirnames,filenames in f: for i in dirnames:
5、s.append(os.path.join(dirpath,i) for i in filenames: s.append(os.path.join(dirpath,i)for i in s: print(i)5. 下面程序的功能是从键盘读入菱形图案的行数(上三角行数),构造该菱形图案,并将其存入文本文件“D:usera.txt”中。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:f=open(rD:usera.txt,w)n=int(input(n=)for i in range(n): s= for j in range(n-i
6、-1): s+= for k in range(2*i+1): s+=* f.write(s+n)for i in range(n-1): s= for j in range(i+1): s+= for k in range(_): s+=* f.write(s+n)f.close()with open(D:/user/a.txt,r) as f: s=f.read()print(s)6. 下面程序的功能是随机生成100个0100的正整数,每个整数占一行,写入“D:usera.txt”文件中。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
7、源程序:import randomwith open(d:/user/a.txt, _) as f: for i in range(100): f.write(str(random.randrange(0,100)+n)7. 下面程序的功能是随机生成100个0100的正整数,每个整数占一行,写入“D:usera.txt”文件中。然后统计其中奇数的个数。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:import randomwith open(d:/user/a.txt,w) as f: for i in range(100): f
8、.write(str(random.randrange(0,100)+n)n=0with open(d:/user/a.txt,r) as f: for i in f: t=int(i) if(_): n=n+1print(n)8. 下面程序的功能是文本文件的复制,即将已经存在的“D:usera.txt”文件内容复制到文件“D:userb.txt”中。请在横线处填写适当的语句或表达式将程序补充完整。源程序:f1=open(d:/user/a.txt,r)f2=open(d:/user/b.txt,w)s=f1.read()f2.write(_)f1.close()f2.close()9. 下面
9、程序的功能是从键盘读入一个字符串,将其转换为整数。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:import sysx=input(x=)try: y=int(x)except Exception as _: print(s) sys.exit(0)else: print(y)10. 下面程序的功能是从键盘读入一个整数,对除法运算进行分类异常处理。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:try: x=eval(input(x=) y=12/xexcept (Na
10、meError,ZeroDivisionError) as s: print(s)except: print(_)else: print(y)11. 下面程序的功能是从键盘读入一个整数,测试各种异常处理场景。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:try: x=eval(input(x=) if(x=1):raise AttributeError(对象属性异常) elif(x=2):raise IOError(输入输出异常) elif(x=3):raise IndexError(索引异常) elif(x=4):raise K
11、eyError(关键字异常) elif(x=5):raise NameError(名字异常) elif(x=6):raise TypeError(类型异常) elif(x=7):raise ValueError(值异常) elif(x=8):raise ZeroDivisionError(零除异常) elif(x=9):raise EOFError(文件结束异常) else:print(没有触发异常!) print(in try)except (AttributeError,IOError,IndexError,KeyError,NameError, TypeError,ValueError,
12、ZeroDivisionError,EOFError) as s: print(s)except: print(其他异常!)else: print(正常!)finally: print(_)12. 下面程序的功能是从键盘读入一个整数,测试自定义零除异常类的异常处理。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:class MyException(_): def _init_(self,data): self.data=datadef main(): try: x=eval(input(x=) if x=0: raise MyException(不能为0哦!) y=100/x print(y) except MyException as s: print(s) finally: print(Goodbye!)main()13. 下面程序的功能是从键盘读入一个整数,根据该整数,从字符串中提取指定字符。程序按照源程序文件方式运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。源程序:s=uestci=eval(input(i=)assert i_,索引下标超出字符串的长度范围啦!print(s=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1