Python语言程序设计课时作业四.docx
《Python语言程序设计课时作业四.docx》由会员分享,可在线阅读,更多相关《Python语言程序设计课时作业四.docx(60页珍藏版)》请在冰豆网上搜索。
Python语言程序设计课时作业四
Python语言程序设计课时作业四
平时作业说明:
(1)平时作业只需提供答案,不用抄题。
(2)平时作业答案可打印,也可手写。
特别提醒:
需写上姓名和学号。
(3)所有平时作业答案都等到期末与课程设计报告一起提交。
具体提交办法期末时公布。
知识点:
函数、模块、文件操作、异常处理与面向对象程序设计
一、程序填空题
(为便于阅卷,不用抄题,只提交各小题答案)
请将每个小题的答案写在实验报告中提交。
(不用抄题,只提交答案即可)
1.下面程序的功能是从键盘读入一个正整数,将其转换为二进制数,并输出之。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
deff(n):
if(n==0):
return
else:
f(__________________________________________)
print(n%2,end='')
defmain():
x=eval(input('x='))
print('0b',end='')
f(x)
main()
2.下面程序的功能是从键盘读入一个正整数,将其转换为十六进制数,并输出之。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
deff(n):
globals
if(n==0):
return
else:
f(n//16)
print(s[__________________________________________],end='')
defmain():
globals
s='0123456789ABCDEF'
x=eval(input('x='))
print('0x',end='')
f(x)
main()
3.下面程序的功能是模拟系统登录过程。
从键盘读入一个账号的密码,如果输入的密码正确,就显示“欢迎光临!
”;如果输入的密码错误,则显示“密码错误!
”;如果用户输入的密码连续错误3次,则显示“你不是合法用户!
”。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
deff():
__________________________________________
if(n>3):
print('你不是合法用户!
')
return
else:
k=input('请输入密码:
')
if(k=='123'):
print('欢迎光临!
')
x=input('继续?
(y/n)')
if(x=='y'orx=='Y'):
n=1
f()
else:
return
else:
print('密码错误!
')
n=n+1
f()
defmain():
globaln
n=1
f()
main()
4.下面程序的功能是遍历输出当前工作目录中的所有文件和文件夹。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
__________________________________________
s=[]
path=os.getcwd()
f=os.walk(path)
fordirpath,dirnames,filenamesinf:
foriindirnames:
s.append(os.path.join(dirpath,i))
foriinfilenames:
s.append(os.path.join(dirpath,i))
foriins:
print(i)
5.下面程序的功能是从键盘读入菱形图案的行数(上三角行数),构造该菱形图案,并将其存入文本文件“D:
\user\a.txt”中。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
f=open(r'D:
\user\a.txt','w')
n=int(input('n='))
foriinrange(n):
s=''
forjinrange(n-i-1):
s+=''
forkinrange(2*i+1):
s+='*'
f.write(s+'\n')
foriinrange(n-1):
s=''
forjinrange(i+1):
s+=''
forkinrange(__________________________________________):
s+='*'
f.write(s+'\n')
f.close()
withopen('D:
/user/a.txt','r')asf:
s=f.read()
print(s)
6.下面程序的功能是随机生成100个0~100的正整数,每个整数占一行,写入“D:
\user\a.txt”文件中。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
importrandom
withopen('d:
/user/a.txt',__________________________________________)asf:
foriinrange(100):
f.write(str(random.randrange(0,100))+'\n')
7.下面程序的功能是随机生成100个0~100的正整数,每个整数占一行,写入“D:
\user\a.txt”文件中。
然后统计其中奇数的个数。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
importrandom
withopen('d:
/user/a.txt','w')asf:
foriinrange(100):
f.write(str(random.randrange(0,100))+'\n')
n=0
withopen('d:
/user/a.txt','r')asf:
foriinf:
t=int(i)
if(__________________________________________):
n=n+1
print(n)
8.下面程序的功能是文本文件的复制,即将已经存在的“D:
\user\a.txt”文件内容复制到文件“D:
\user\b.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.下面程序的功能是从键盘读入一个字符串,将其转换为整数。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
importsys
x=input('x=')
try:
y=int(x)
exceptExceptionas__________________________________________:
print(s)
sys.exit(0)
else:
print(y)
10.下面程序的功能是从键盘读入一个整数,对除法运算进行分类异常处理。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
try:
x=eval(input('x='))
y=12/x
except(NameError,ZeroDivisionError)ass:
print(s)
except:
print(__________________________________________)
else:
print(y)
11.下面程序的功能是从键盘读入一个整数,测试各种异常处理场景。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
try:
x=eval(input('x='))
if(x==1):
raiseAttributeError('对象属性异常')
elif(x==2):
raiseIOError('输入输出异常')
elif(x==3):
raiseIndexError('索引异常')
elif(x==4):
raiseKeyError('关键字异常')
elif(x==5):
raiseNameError('名字异常')
elif(x==6):
raiseTypeError('类型异常')
elif(x==7):
raiseValueError('值异常')
elif(x==8):
raiseZeroDivisionError('零除异常')
elif(x==9):
raiseEOFError('文件结束异常')
else:
print('没有触发异常!
')
print('intry')
except(AttributeError,IOError,IndexError,KeyError,NameError,\
TypeError,ValueError,ZeroDivisionError,EOFError)ass:
print(s)
except:
print('其他异常!
')
else:
print('正常!
')
finally:
print(__________________________________________)
12.下面程序的功能是从键盘读入一个整数,测试自定义零除异常类的异常处理。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
classMyException(__________________________________________):
def__init__(self,data):
self.data=data
defmain():
try:
x=eval(input('x='))
ifx==0:
raiseMyException('不能为0哦!
')
y=100/x
print(y)
exceptMyExceptionass:
print(s)
finally:
print('Goodbye!
')
main()
13.下面程序的功能是从键盘读入一个整数,根据该整数,从字符串中提取指定字符。
程序按照源程序文件方式运行后的输入输出情况如下图所示。
请在横线处填写适当的语句或表达式将程序补充完整。
源程序:
s='uestc'
i=eval(input('i='))
asserti<__________________________________,'索引下标超出字符串的长度范围啦!
'
print('s[{}]={}