首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在3个Python源文件,分别对应3个问题,请按照文件内说明修改代码,实现以下功能。 法定节假日是根据各国、各民族的风俗习惯或纪念要求,由国家法律统一规定的用以庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,
考生文件夹下存在3个Python源文件,分别对应3个问题,请按照文件内说明修改代码,实现以下功能。 法定节假日是根据各国、各民族的风俗习惯或纪念要求,由国家法律统一规定的用以庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,
admin
2021-03-16
50
问题
考生文件夹下存在3个Python源文件,分别对应3个问题,请按照文件内说明修改代码,实现以下功能。
法定节假日是根据各国、各民族的风俗习惯或纪念要求,由国家法律统一规定的用以庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。法定节假日的安排,为居民出行、购物和休闲提供了时间上的便利,为拉动内需、促进经济增长做出了积极贡献。给出一个某年的节假日的放假日期CSV文件(PY301-vacation.csv),内容示例如下。
序号 节假日名称 开始月日 结束月日
1 元旦 1230 0101
2 春节 0215 0221
3 清明节 0405 0407
4 劳动节 0501 0503
5 端午节 0616 0618
…
以第1行为例,1230表示12月30日,0101表示1月1日。
问题1:在“PY301-1.py”文件中修改代码,读入CSV文件中的数据,获得用户输入。根据用户输入的节假日名称,输出此节假日的时间范围。
输入和输出示例格式如下。
请输入节假日名称(例如,春节):春节
春节的假期位于0215-0221之间
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的________处使用一行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
…
ls=[]
…
print("{}的假期位于{]-{}之间".format(________))
问题2:在“PY301-2.py”文件中修改代码,读入CSV文件的数据,获得用户输入。用户输入一组范围是1-7的整数作为序号,序号间采用空格符分隔,以回车符结束。输出这些序号对应的节假日的名称、时间范围,每个节假日的信息一行。本次输出完成后,重新回到输入序号的状态。
输入和输出示例格式如下。
请输入节假日序号:15
元旦(1)假期是12月30日至01月01日之间
端午节假期(5)是06月16日至06月18日之间
请输入节假日序号:
试题程序:
#以下代码为提示框架
#清在程序的…处使用一行或多行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
…
ls=[]
…
print("{}{{}}假期是()月{}日至{}月{}日之间".format(________))
问题3:在问题2的基础上,在“PY301-3.py”文件中修改代码,对输入的每个序号做合法性处理。如果输入的数字不不合法,请输出“输入节假日编号有误!”,继续输出后续信息,然后重新回到输入序号的状态。
输入和输出示例格式如下。
请输入节假日序号:5 14 11
端午节(5)假期是06月16日至06月18日之间
输入节假日编号有误!
输入节假日编号有误!
请输入节假日编号:
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的________处用一行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
…
ls=[]
…
print("{}{{}}假期是{}月{}日至{}月{}日之间”.format:(________))
…
if flag==False:
print("输入节假日编号有误!")
…
选项
答案
(1)fi=open("PY301-vacations.csv","r") ls=[] for line in f: ls.Append(line.strip("\n" ).split(",")) s=input("请输入节假日名称:") for line in ls: if s==line[1]: print("{}的假期位于{}-{}之间".format(line[1],line[2],line[3])) (2)fi=open("PY301-vacations.csv","r") ls=[] for line in fi: 1s.append(line.strip("\n").split(",")) s=input("请输入节假日序号:").split(" ") while True: for in s: for line in ls: if i==line[0]: print("{}({})假期是11月1日至1月11日之间".format(line[1],line[0].line[2][0]+line[2][1],line[2][2]+ line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3])) s=input("请输入节假日序号:").spit("") (3)fi=open("PY30-vacations.csv","r") ls=[] for line in fi: ls.Append(ling.strip("\n ")).split(",") s=input("请输入节假日序号:").split(" ") while s!=" ": for i in s: flag=False for line in ls: if i==line[0]: print(""{}({})假期是11月1日至1月11日之间".format(line[1],line[0].line[2][0]+line[2][1],line[2][2]+ line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3])) flag=True if flag==false: print("输入节假日编号有误!") s=input("请输入节假日序号:").split(" ")
解析
(1)对文件的读操作需要使用open()函数,模式为"r";将文件读入后,需要把CSV文件的内容转换成二维数据,并将其转换成二维列表对象。首先定义一个列表ls,把读入的每行数据使用strip()函数清除掉换行符,再使用split()函数在元素之间以逗号分隔存储在列表ls中,split()函数返回的是一个列表,因此把CSV文件转换成二维列表对象。使用input()函数获取用户输入,再用for循环遍历二维列表,如果输入的节假日名称在列表中,则输出对应的时间段。
(2)用户可以输入多个节假日的序号,因此可以考虑使用split()方法把输入的序号放在一个列表中,然后使用两个for循环,一个用来遍历二维列表,一个用来遍历输入的序号列表,当输入的序号与二维列表中的一样时,输出结果。因为题目的示例输出在数字月和日期之间加入了汉字,此时分析存入二维列表中的数字,可以知道存入的是字符串,即在CSV文件中初始月日和结束月日都是长度为4的字符串,属于序列类型,因此可以使用索引访问。
(3)在问题2的基础上,加上一个标记,如果输入的序号正确,则标记为True;输入错误,标记为False,最后根据标记判断是否输出“输入节假日编号有误!”。分析题目要求可知,标记是在输入的序号在二维列表中可以查到时变为True,其他情况都为False,所以标记应该放在遍历序号列表的for循环内、遍历二维列表的for循环外。
转载请注明原文地址:https://jikaoti.com/ti/t950FFFM
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
(1)在考生文件夹下新建一个名为“图书管理”的项目文件。(2)在项目中新建一个名为“图书”的数据库。(3)将考生文件夹下的所有自由表添加到“图书”数据库中。(4)在项目中建立查询book_qu,其功能是查询价格大于等于10的图书(book表)的所有信
“图书”表中有字符型字段“图书号”。要求用SQLDELETE命令将图书号以字母“A”开头的图书记录全部删除,正确的命令是()。
命令SELECT0的功能是()。
下列程序段执行以后,内存变量y的值是()。x=76543y=0DOWHILEx>0y=x%10+y*10x=int(x/10)ENDDO
假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“李彤”(C型字段)。在命令窗口输入并执行如下命令:姓名=姓名-"出勤"?姓名屏幕上会显示()。
在VisualFoxPro中,要运行菜单文件menul.mpr,可以使用命令()。
在数据管理技术发展的三个阶段中,数据共享最好的是()。
查询“教师表”的全部记录并存储于临时文件one.dbf中的SQL命令是()。
(1)打开数据库“外汇”,通过“外币代码”字段为“外汇代码”和“外汇账户”建立永久联系。(2)新建一个名为“外汇管理”的项目文件,将数据库“外汇”加入“外汇管理”项目中。(3)修改mymenu菜单文件,为“文件”下的予菜单项“查找”设置
下列工具中,不属于结构化分析的常用工具的是()。
随机试题
财务报表审计的目标是注册会计师通过执行审计工作,对财务报表的_________发表审计意见。
实际碳酸氢盐(AB)=标准碳酸氢盐(SB)>正常值表明为
我国的药品质量监督管理的原则不包括
A.环磷酰胺B.丝裂霉素C.羟喜树碱D.丙酸睾酮E.氟他胺属于破坏DNA的抗生素的抗肿瘤药是()。
职业伤害事故按其后果严重的程度分类,属于重大伤亡事故中死亡()的事故。
教育目的
大多数精神类药物都会引起体重的增加,尽管节食有助于减少体重的增加,但不可能完全避免这种体重的增加。如果上述断定为真,则以下哪项一定为真?I.有些服用精神类药物的人会增加体重。Ⅱ.有些服用精神类药物的人不会增加体重。Ⅲ.所有服用精神类
--Aretheseshoesyours?--No,theyare______.
Tounderstandthemarketingconcept,itisonlynecessarytounderstandthedifferencebetweenmarketingandselling.Nottoom
A、Engageininterestingdebatesoften.B、Readthescriptsinfrontofamirror.C、Talkwithfriendsaboutdifferenttopics.D、Wr
最新回复
(
0
)