考生文件夹下存在三个Python源文件,分别对应三个问题,请按照文件内说明修改代码,实现以下功能:
法定节假日是根据各国、各风俗习惯或纪念要求,由国家法律统-规定的用以进行庆祝及度假的休息时间。法定节假日制度是国家政治、经济、
文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。法定节假日的休假安排,为居民出行购物和休闲提供了时间上的便
利,为拉动内需、促进经济增长做出了积极贡献。给出一个2020年的节假日的放假日期CSV文件(PY301-vaations.csv) ,内容示例如下:
以第1行为例,1230表示12月30日, 0101表示1月1日。
问题1:在PY301-1.py文 件中修改代码,读入CSV文件中数据, 获得用户输入。根据用户输入的节假日名称,输出此节假日的假期范围。
参考输入和输出示例格式如下:
请输入节假日名称(例如:春节):春节
春节的假期位于0215-0221之间
问题2:在PY301_ 2.py文 件中修改代码,读入CSV文件中数据,获得用户输入。用户键盘输入一组1-7的整数作为序号,序号间要用空格分隔,以回
车结束。屏幕输出这些序号对应的节假日的名称、假期范围,每个节假日的信息–行。本次屏幕显示完成后,重新回到输入序号的状态。
参考输入和输出示例格式如下:
请输入节假日序号: 15
元旦(1)假期是12月30日至01月01日之间
端午节假期(5)是06月16日至06月18日之间
请输入节假日序号:
问题3:在问题2的基础上,在PY301_ _3.py文件中修改代码,对键盘输入的每个序号做合法性处理。如果输入的数字不合法,请出“输入节假日编
号有误!”,继续输出后续信息,然后重新回到输入序号的状态。
参考输入和输出示例格式如下:
请输入节假日序号: 5 14 11
端午节假期是06月16日至06月18日之间
输入节假日编号有误!
输入节假日编号有误!
请输入节假日编号:
参考完整代码问题1
fi=open("PY301-vacations.csv","r") ls = [] for line in fi: ls.append(line.strip("\n").split(",")) fi.close() name=input("请输入节假日名称(例如:春节):") for line in ls: if line[1]==name: 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(",")) fi.close() xh=input("请输入节假日序号:") xh=xh.strip().split() while True: for i in xh: for line in ls: if i==line[0]: print("{}({})假期是{}月{}日至{}月{}日之间".format(line[1],line[0],line[2][0:2],line[2][2:4],line[3][0:2],line[3][2:4])) xh=input("请输入节假日序号:") xh=xh.strip().split()
参考完整代码问题3
fi=open("PY301-vacations.csv","r") ls = [] for line in fi: ls.append(line.strip("\n").split(",")) fi.close() while True: xh=input("请输入节假日序号:") xh=xh.strip().split() for i in xh: flag=False for line in ls: if i==line[0]: print("{}({})假期是{}月{}日至{}月{}日之间".format(line[1],line[0],line[2][0:2],line[2][2:4],line[3][0:2],line[3][2:4])) flag=True if flag == False: print("输入节假日编号有误!")
参考来自[全国计算机二级Python全程班+送题库+全程辅导+考过为止]