首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在三个Python源文件,分别对应三个问题,请按照文件内说明修改代码,实现以下功能: 法定节假日是根据各国、各名族的风俗习惯或纪念要求,由国家法律统一规定的用以进行庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反
考生文件夹下存在三个Python源文件,分别对应三个问题,请按照文件内说明修改代码,实现以下功能: 法定节假日是根据各国、各名族的风俗习惯或纪念要求,由国家法律统一规定的用以进行庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反
admin
2020-04-10
76
问题
考生文件夹下存在三个Python源文件,分别对应三个问题,请按照文件内说明修改代码,实现以下功能:
法定节假日是根据各国、各名族的风俗习惯或纪念要求,由国家法律统一规定的用以进行庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。法定节假日的休假安排,为居民出行购物和休闲提供了时间上的便利,为拉动内需、促进经济增长做出了积极贡献。给出一个2018年的节假日的放假日期CSV文件(PY301一vacations.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("{}的假期位于{}一{}之间”.formay(________))
问题2:在PY301—2.py文件中修改代码,读入CSV文件中数据,获得用户输入。用户键盘输入一组范围是1~7的整数作为序号,序号间采用空格分隔,以回车结束。屏幕输出这些序号对应的节假日的名称、假期范围,每个节假日的信息一行。本次屏幕显示完成后,重新回到输入序号的状态。
参考输入和输出示例格式如下:
请输入节假日序号:1 5
元旦(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 fi; 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; ls.append(line.strip("\n"),split(",")) s=input("请输入节假日序号;")。split("") while True: for i in s: for line in ls: if i == line[0]; print(”{}({})假期是{}月{}日至{}月{}日之间”.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("请输入节假日序号:").split(" ") (3) fi=open("PY301-vacations.csv","r") ls= [] for line in fi: ls.append(line.strip("\n).split(",") s=input("请输入节假日序号:“).split("") while s !="": for i in s: flag = False for line in ls ; if i ==line[0]: print(”{}({})假期是{}月{}日至{}月{}日之间”.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://kaotiyun.com/show/u56p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
以下关于关系的说法正确的是()。
程序调试的任务是()。
扩展名为pjx的文件是()。
在考生文件夹下完成如下简单应用:(1)用SQL语句完成下列操作:查询项目的项目号、项目名和项目使用的零件号、零件名称,查询结果按项目号降序、零件号升序排序,并存放于表item_temp中,同时将使用的SQL语句存储于新建的文本文件item.txt
计算结果不是字符串"Teacher”的表达式是()。
下列叙述中正确的是()。
支持子程序调用的数据结构是()。
如果在命令窗口执行命令:LIST名称,主窗口中显示:记录号名称l电视机2计算机3电话线4电冰箱5电线假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是()。CO2SCANNEX
设R是一个2元关系,有3个元组,S是一个3元关系,有3个元组。如T=R×S,则T的元组的个数为()。
(1)用SQLINSERT语句插入元组("p7","PN7",1020)到“零件信息”表(注意:不要重复执行插入操作),并将相应的SQL语句存储在文件one.prg中。(2)用SQLDELETE语句从“零件信息”表中删除单价小于600的所有记录,并将
随机试题
急性胰腺炎0胆石症
中国东方冶金集团代表中国碳化钨产业向国务院商务部提出了对原产于A国的碳化钨进行反倾销调查的申请。商务部经审查裁定倾销不成立。东方冶金集团对商务部的裁定不服,向法院提起行政起诉。依据有关规定,下列说法哪一项是正确的?
(2015·陕西)我国政府与一百多个国家和地区以及联合国教科文组织等国际组织建立了教育合作与交流关系,同各国政府签署了一千多项双边及多边教育合作与交流协议和执行计划。这反映了教育发展()的趋势。
党中央计划五年内将选聘50万大学毕业生到村里任职,这个措施有什么积极意义?
税务机关要打造实名QQ交流平台.你怎么宣传?
(2015山东)车间领到一批电影票和球票发放给车间工人,电影票是球票数的2倍。如果每个工人发3张球票,则富余2张,如果每个工人发7张电影票,则缺6张,问车间领到多少张球票?
下面程序的运行结果是______。#defineDOUBLE(x,y)x/ymain(){intx=4,y=2,t;t=DOUBLE(x+y,x-y);printf("%d",t);}
如果要显示的记录和字段较多,并且希望可以同时浏览多条记录及方便比较相同字段,则应创建的报表类型是
【B1】【B4】
Intimesofeconomiccrisis,Americansturntotheirfamiliesforsupport.IftheGreatDepressionisanyguide,wemayseeadr
最新回复
(
0
)