赞
踩
题库
1、要求:一个内容为0,88,ac,ff,abc,ss的元组。
tuple=(0,88,"ac","ff","abc","ss")
2、删除元素ff
3、并在位置4添加新的元素h
4、返回新的元组。
(5.0)
正确答案:
解析:
2、1、创建一个列表:colors,内部元素为:red,yellow,blue,white,black,green,gray,
2、在black前面插入一个元素:orange
3、把orange改为橙色。
4、在blue后面插入一个子表:[“pink”,”purple”]
5、返回white的索引值。
6、创建一个新列表11,22,33,44,并合并到colors中。
7、取出索引值4-8的所有元素。
8、取出最后2个元素。
9、使用循环,遍历列表所有元素,并输出元素值和对应的索引值。
10、删除gray元素。
(5.0)
正确答案:# 1、创建一个列表:colors,内部元素为:red,yellow,blue,white,black,green,gray
colors = ['red','yellow','blue','white','black','green','gray']
print('第一题:',colors)
# 2、在black前面插入一个元素:orange
colors.insert(4,'orange')
print('第二题:',colors)
# 3、把orange改为橙色。
colors[4] = '橙色'
print('第三题:',colors)
# 4、在blue后面插入一个子表:[“pink”,”purple”]
list = ['pink','purple']
colors.insert(3,list)
print('第四题:',colors)
# 5、返回white的索引值。
print('第五题:',colors.index('white'))
# 6、创建一个新列表11,22,33,44,并合并到colors中。
newlist= [11,22,33,44,]
print('第六题:',colors + nub)
# 7、取出索引值4-8的所有元素。
print('第七题:',colors[4:8])
# 8、取出最后2个元素。
print('第八题:',colors[-2:])
# 9、使用循环,遍历列表所有元素,并输出元素值和对应的索引值。
for i in colors:
print('第九题:','元素值是:',i,'索引值是:',colors.index(i))
#10、删除gray元素。
# del colors[8] # 方法1
# colors.pop(8) # 方法2
colors.remove("gray") # 方法3
#11、删除colors。
del colors
解析:
3、 使用列表推导式生成一个存放1-100中个位数为3的数据列表。
(5.0)
正确答案: result = [x for x in range(3, 101, 10)]
print(result)
解析:
4、补充下列代码,实现输入一个8位数表示的年月日,读出月份数字并输出该月有多少天。
def is_leap(year):
"""判断year是否为闰年,闰年返回True,非闰年返回False"""
#####
def days_of_month(date_str):
"""根据输入的年月日,返回该月的天数"""
#####
date_in = input() # 输入一个年月日
print(days_of_month(date_in))
(5.0)
正确答案:
解析:
5、使用递归法计算自然数各位数字之和。
比如:输入151,经递归函数计算后输出1+5+1计算结果:7
通常要获得数字的最后一位数,可以取模:
last= n % 10
该数字的其余部分(不包括最后一个地方)是:
rest = n // 10
(5.0)
正确答案:def func(num):
if num < 10:
return num
else:
return func(num // 10) + func(num % 10)
num = int(input("请输入任意数字: "))
res = func(num)
print(res)
解析:
6、使用map()函数计算自然数各位数字之和。
(5.0)
正确答案:
n=input()
l=list(map(int,n))
print(sum(l))
解析:
7、使用三种方法调用math库中的pow(底数,指数)函数,计算2的100次方。
(5.0)
正确答案:
解析:
8、新建一个.py文件,命名为module.py,在新文件中调用自定义模块date中的is_leap函数,实现输入一个4位数的年时,如果是闰年则输出该年为闰年,如果不是闰年则输出该年不是闰年。
(5.0)
正确答案:
#module.py
import date
n=int(input('请输入年:'))
if date.is_leap(n):
print('该年为闰年')
else:
print('该年不是闰年')
解析:
9、1.新建一个 hm_message的包
2.在目录下,新建两个文件 send_message和receive_message
3.在send_message文件中定义一个send函数
4.在receive_message文件中定义一个receive函数
5.在外部直接导入hm_message的包
注意:包的路径不能做为默认路径。
(5.0)
正确答案:
解析:
10、新建字典如下:
one_dict = {"name": "xp", "gender": "woman", "age": 15, "height": 165}
two_list = {"character": "活泼", "hobby": "吃", "motto": "开心"}
2、将两个字典合并到ond_dict中去。
3、修改字典中age的值为20.
4、删除字典中hobby的值。
5、增加一对数据 “tel”:”123”
6、遍历字典所有的键值。
7、遍历字典所有的值。
8、遍历字典所有的键值对。
(5.0)
正确答案: 正确答案:
# 1、新建字典如下:
one_dict = {"name": "xp", "gender": "woman", "age": 15, "height": 165}
two_list = {"character": "活泼", "hobby": "吃", "motto": "开心"}
# 2、将两个字典合并到ond_dict中去。
ond_dict = {}
ond_dict.update(one_dict)
ond_dict.update(two_list)
print('第二题:',ond_dict)
# 3、修改字典中age的值为20.
ond_dict.update({'age':20})
print('第三题:',ond_dict)
# 4、删除字典中hobby的值。
ond_dict.pop('hobby')
print('第四题:',ond_dict)
# 5、增加一对数据 “tel”:”123”
ond_dict["tel"] = 123
print('第五题:',ond_dict)
# 6、遍历字典所有的键值。
for item in ond_dict.items():
key = item[0]
print('第六题:','键',key,)
print('------------------------------')
# 7、遍历字典所有的值。
for item in ond_dict.items():
value = item[1]
print('第七题:','值',value)
print('------------------------------')
# 8、遍历字典所有的键值对。
for item in ond_dict.items():
key = item[0] value = item[1]
print('第八题:','键',key,'值',value)
解析:
11、一、创建一个字典,键为1, 2,3.值分别为one ,two three.
通过查找1,找到其对应的值one。
添加键4对应值为four.
删除2对应的元素。
二、创建由1-7共7个键对应的‘Monday’~’Sunday’7个值组成的字典。
输出键列表,值列表以及键值列表
修改2对应的值为中文‘星期二’。
删除并返回5对应的元素。
将该字典清空。
三、定义两个集合,求其交集、并集、差集。
(5.0)
正确答案:
第一题:
>>> dict1={1:'one',2:'two',3:'three'}
>>> dict1[1]
'one'
>>> dict1[4]='four'
>>> dict1
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
>>> del dict1[2]
>>> dict1
{1: 'one', 3: 'three', 4: 'four'}
第二题:
>>> dict2={1:'Monday',2:'Tuesday',3:'Wednesday',4:'Thusday',5:'Friday',6:'Saturday',7:'Sunday'}
>>> dict2.items()
dict_items([(1, 'Monday'), (2, 'Tuesday'), (3, 'Wednesday'), (4, 'Thusday'), (5, 'Friday'), (6, 'Saturday'), (7, 'Sunday')])
>>> dict2.keys()
dict_keys([1, 2, 3, 4, 5, 6, 7])
>>> dict2.values()
dict_values(['Monday', 'Tuesday', 'Wednesday', 'Thusday', 'Friday', 'Saturday', 'Sunday'])
>>> dict2[2]='星期二'
>>> dict2
{1: 'Monday', 2: '星期二', 3: 'Wednesday', 4: 'Thusday', 5: 'Friday', 6: 'Saturday', 7: 'Sunday'}
>>> dict2.pop(5)
'Friday'
>>> dict2.clear()
>>> dict2
{}
第三题:
>>> a_set = set([8, 9, 10, 11, 12, 13])
>>> b_set = {0, 1, 2, 3, 7, 8}
>>> a_set | b_set #并集
{0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}
>>> a_set.union(b_set) #并集
{0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}
>>> a_set & b_set #交集
{8}
>>> a_set.intersection(b_set) #交集
{8}
>>> a_set.difference(b_set) #差集
{9, 10, 11, 12, 13}
>>> a_set - b_set
{9, 10, 11, 12, 13}
解析:
12、英文中有一种句子,句子中所有英文每个字母至少出现一次,例如The quick brown fox jumps over the lazy dog.
编写一个程序,用来检查一个英文句子是否是符合这个条件.是则显示True 否则显示False
知识准备:
设置集合为空集合 jh=set()
集合jh增加一个元素x jh.add(x)
集合元素的个数 len(jh)
(5.0)
正确答案:
解析:
13、定义两个集合,求其交集、并集、差集、补集。
(5.0)
正确答案:
解析:
14、1、创建一个TXT文件,命名为t.txt,内容为:好好学习,
2、在文件的末尾追加写入”天天向上!“。
3、在文件的开头追加写入”我会“
(5.0)
正确答案:
解析:
15、要求:单文件拆分为多个文件
将唐诗十首.txt中的诗逐首写入文件,诗名做为文件名。
(5.0)
正确答案:
import os
def read_poem(file, path):
"""读唐诗10首,将每首诗切分开保存在一个字符串中,返回这个字符串"""
with open(file, 'r', encoding='utf-8') as file:
poem = '' # 空字符串,准备接收一首诗的内容
for line in file: # 遍历文件对象
if line[:3].isdigit(): # 若前3个字符是数字,如010杜甫:佳人
write_poem(poem, path) # 调用函数,将一首完整的诗写入文件
poem = line # 用当前行构建新一首诗的字符串
else:
poem = poem + line # 不是数字开头的行拼接到当前诗的字符串上
write_poem(poem, path) # 调用函数,将最后一首完整的诗写入文件
def write_poem(poem, path):
"""传入一首诗内容的字符串,提取诗名做文件名,将诗写入文件,无返回值"""
title = poem.split('\n',maxsplit=1)[0] # 根据换行切分一次,序号0的元素做为诗名,如010杜甫:佳人
print(title)
with open(path + title + '.txt', 'w', encoding='utf-8') as file:
file.write(poem) # 字符串写入文件
def check_list(pathname):
"""接收路径名为参数,返回路径下的文件名列表"""
return os.listdir(pathname)
if __name__ == '__main__':
filename = '/cyf/唐诗十首.txt' # 源文件路径
pathname = './' # 存放切分后文件的路径为当前路径
read_poem(filename, pathname)
print(check_list(pathname))
解析:
16、输入几名学生的通讯录,保存到文件中以备将来使用。
分析:通讯录包括姓名,性别,电话,地址,从键盘输入之后,只有存入文件中才能在关机之后仍能保存数据。 需要以写方式打开文件(新建文件),然后用write方法把数据写入文件中。
(5.0)
正确答案:
解析:
17、遍历test文件夹,如果是文件就直接输出当前文件绝对路径,
如果是文件夹,就输出当前文件夹路径,
然后接着遍历该子文件夹,直到指定文件夹被全部遍历完。
(5.0)
正确答案:
解析:
18、某幼儿园的小朋友分发梨子,输入梨子数量和小朋友数量,计算每个人平均分配得到的梨子数量及剩余梨子数量,输出分配结果。请编程模拟这一过程,要求程序能处理数据输入异常及计算中出现的异常。
根据提示,已给出正常运行时的模拟分梨程序。
# -*- coding: utf-8 -*-
pear = int(input())
children = int(input())
result = pear // children
remain = pear % children
print('每个小朋友分得{}个梨,剩余{}个梨'.format(result,remain))
在不改变原有语句,补充代码,使其完成以下功能:
1.在输入数据正确时,正常执行,输出结果,并显示分梨工作顺利完成。
2.在发生输入的梨子数为0时,捕获raise,显示梨子数不能为0
3.在发生输入的小朋友人数为0时,捕获ZeroDivisionError,显示小朋友人数不能为0
4.在发生输入的梨子数或者小朋友人数为非整数值时,捕获ValueError,显示输入梨子或人数必须是整数
5.不管是否发生异常时,最后都显示进行了一次分梨工作
(5.0)
正确答案:
try:
pear = int(input())
children = int(input())
if pear == 0:
raise
result = pear // children
remain = pear % children
print('每个小朋友分得{}个梨,剩余{}个梨'.format(result,remain))
except ZeroDivisionError:
print("小朋友人数不能为0")
except ValueError:
print('输入梨子或人数必须是整数')
except:
print('梨子数不能为0')
else:
print('分梨工作顺利完成')
finally:
print('进行了一次分梨工作')
解析:
19、1.爬取我校招聘信息网https://xgc.gxvnu.edu.cn/zpxx.htm内容,保存到本地磁盘,命名为zp.html。
2.提取出招聘信息网中‘a'标签的文字内容。
(5.0)
正确答案:
解析:
20、爬取我校招聘信息网https://xgc.gxvnu.edu.cn/zpxx.htm内容
(5.0)
正确答案:
解析:
21、将爬取到的我校招聘信息网https://xgc.gxvnu.edu.cn/zpxx.htm内容,保存到本地磁盘,命名为zp.html。
(5.0)
正确答案:
解析:
22、提取出招聘信息网中‘a'标签的文字内容。
(5.0)
正确答案:
解析:
23、使用正则表达式在爬虫作业3的基础上筛选出招聘信息中非广西的单位。
(5.0)
正确答案:
解析:
24、请将招聘信息网中的各个招聘信息抓取并保存为相应的公司名称的.txt文件。
(5.0)
正确答案:
解析:
25、下载故宫壁纸网页的多张图片,
网页地址为https://www.dpm.org.cn/lights/royal/p/1.html
将图片文件命名为序号标题名,扩展名为jpg,将图片保存在image文件夹下。
(5.0)
正确答案:
解析:
26、请将招聘信息网中的各个招聘信息抓取并保存为相应的公司名称的.txt文件。
(5.0)
正确答案:
解析:
27、下载故宫壁纸网页的多张图片,
网页地址为https://www.dpm.org.cn/lights/royal/p/1.html
将图片文件命名为序号标题名,扩展名为jpg,将图片保存在image文件夹下。
(5.0)
正确答案:
import requests
from bs4 import BeautifulSoup
req=requests.get('https://www.dpm.org.cn/lights/royal/p/1.html')
req.encoding='utf-8'
soup=BeautifulSoup(req.text,'lxml')
img=soup.find('div',class_="list clearfix").find_all('img')
#print(img)
for imgs in img:
imgsrc=imgs.attrs['src']
r=requests.get(imgsrc)
imgname=imgs.attrs['title'].strip()
with open(imgname+'.jpg','wb') as p1:
p1.write(r.content)
解析:
28、请按照以下图片样式,使用tkinter库完成界面设计。将代码截图上传。
(5.0)
正确答案:
from tkinter import *
win=Tk()
win.title("单词翻译器")
win.geometry("300x120")
Label(win,text='输入要翻译的内容:',width=15).place(x=15,y=10)
Entry(win,width=20).place(x=130,y=10)
Label(win,text='翻译的结果:',width=15).place(x=15,y=40)
s=StringVar()#StringVar是Tk库内部定义的字符串变量类型,在这里用于管理部件上面的字符
s.set('我是个教师')
Entry(win,width=20,textvariable=s).place(x=130,y=40)
Button(win,text='翻译',width=8).place(x=50,y=70)
Button(win,text='清空',width=8).place(x=150,y=70)
win.mainloop()
解析:
29、完善tkinter库翻译软件界面设计后,实现“清空”按钮功能
(5.0)
正确答案:
from tkinter import *
def qkclick(event):
s.set('')
entry2.insert(0,'')
win=Tk()
win.title("单词翻译器")
win.geometry("300x120")
Label(win,text='输入要翻译的内容:',width=15).place(x=15,y=10)
entry1=Entry(win,width=20).place(x=130,y=10)
Label(win,text='翻译的结果:',width=15).place(x=15,y=40)
s=StringVar()#StringVar是Tk库内部定义的字符串变量类型,在这里用于管理部件上面的字符
s.set('我是个教师')
entry2=Entry(win,width=20,textvariable=s)
entry2.place(x=130,y=40)
b1=Button(win,text='翻译',width=8).place(x=50,y=70)
b2=Button(win,text='清空',width=8)
b2.place(x=150,y=70)
b2.bind("<Button-1>",qkclick)
win.mainloop()
解析:
30、调用百度翻译API
开发者文档:百度翻译开放平台
通用翻译API HTTPS 地址:https://fanyi-api.baidu.com/api/trans/vip/translate
APP ID:20221123001465846
密钥:OC1nhlqyWAWnILZKs72o
(5.0)
正确答案:
from tkinter import *
from urllib import request
from urllib import parse
import json
import hashlib
def t_word(en_str):
Url='https://fanyi-api.baidu.com/api/trans/vip/translate'
f_data={'from':'en','to':'zh','q':en_str,'appid':'20221123001465846','salt':'15670288'}
key='OC1nhlqyWAWnILZKs72o'
m=f_data['appid']+en_str+f_data['salt']+key
m_md5=hashlib.md5(m.encode('utf-8'))
f_data['sign']=m_md5.hexdigest()
data=parse.urlencode(f_data).encode('utf-8')
response=request.urlopen(Url,data)
html=response.read().decode('utf-8')
tr=json.loads(html)
print(tr)
tr=tr['trans_result'][0]['dst']
print(tr)
return tr
en_str=input('en:')
t_word(en_str)
解析:
31、将在百度翻译API中获得的翻译结果显示在翻译结果框中。
(5.0)
正确答案:
def fyclick(event):
en_srt=entry1.get()
vtext=t_word(en_srt)
s.set(vtext)
32、猜数游戏。在程序中预设一个0-9之间的随机整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了”;小于预设的数,显示“遗憾,太小了”,如此循环,直至猜中该数,显示“预测N次,你猜中了!”其中N是用户输入数字的次数。
(5.0)
正确答案:
解析:
33、
使用Tkinter编辑以上界面,实现确定按钮的功能:要猜的数字从第一个文本框中获取,并将猜数游戏中的结果显示在对应文本框中。
(5.0)
正确答案:
from tkinter import *
win=Tk()
win.title("猜数字游戏")
win.geometry("300x140")
Label(win,text='输入要猜的数字:',width=15).place(x=15,y=10)
z=StringVar()#StringVar是Tk库内部定义的字符串变量类型,在这里用于管理部件上面的字符
z.set('')
entry1=Entry(win,width=20,textvariable=z)
entry1.place(x=130,y=10)
Label(win,text='猜的结果:',width=15).place(x=15,y=40)
s=StringVar()#StringVar是Tk库内部定义的字符串变量类型,在这里用于管理部件上面的字符
entry2=Entry(win,width=20,textvariable=s)
entry2.place(x=130,y=40)
Label(win,text='你猜了?次:',width=15).place(x=15,y=70)
s=StringVar()#StringVar是Tk库内部定义的字符串变量类型,在这里用于管理部件上面的字符
entry2=Entry(win,width=20,textvariable=s)
entry2.place(x=130,y=70)
b1=Button(win,text='确定',width=8)
b1.place(x=50,y=100)
b2=Button(win,text='清空',width=8)
b2.place(x=150,y=100)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。