文章目录
- 基本操作题1
- 基本操作题2
- 基本操作题3
- 简单应用题1
- 简单应用题2
- 综合应用题1
基本操作题1
考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能,随机选择一个手机品牌屏幕输出。
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:请不要修改其他已给出代码import ______
brandlist = ['三星','苹果','vivo','OPPO','魅族']
random.seed(0)
......
print(name)
答案:
import random
brandlist = ['三星','苹果','vivo','OPPO','魅族']
random.seed(0)
name = brandlist[random.randint(0,4)]
print(name)
基本操作题2
考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入一段文本,保存在一个字符串变量 s 中,分别用Python内置函数及jieba
库中已有函数计算字符串 s 的中文字符个数及中文词语个数。注意:中文字符包含中文标点符号。
例如,
键盘输入:
科技是第一生产力
屏幕输出:
中文字符数为8,中文词语数为4。
# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码import jieba
s = input("请输入一个字符串")
n = ______
m = ______
print("中文字符数为{},中文词语数为{}。".format(n, m))
答案:
import jieba
s = input("请输入一个字符串")
n = len(s)
m = len(jieba.lcut(s))
print("中文字符数为{},中文词语数为{}。".format(n, m))
基本操作题3
考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:
某商店出售某品牌服装,每件定价150,1件不打折,2件(含)到3件(含)打九折,4件(含)到9件(含)打八折10件(含)以上打七折,键盘输入购买数量,屏幕输出总额(保留整数)。示例格式如下:
输入:8
输出:总额为:960
# 请在...处使用一行或多行代码替换
#
# 注意:请不要修改其他已给出代码n = eval(input("请输入数量:"))
......
print("总额为:",cost)
答案:
n = eval(input("请输入数量:"))
if n == 1:cost=150
elif n>=2 and n<=3:cost=int(n*150*0.9)
elif n>=4 and n<=9:cost=int(n*150*0.8)
elif n>=10:cost=int(n*150*0.7)
print("总额为:",cost)
简单应用题1
考生文件夹下存在一个文件PY201.y,请写代码替换横线,不修改其他代码,实现以下功能:使用turtle
库的turte.right()
函数和turtle.fd()
函数绘制一个五角星,边长为200像素,内角度数为36,效果如下图所示。
# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码from turtle import *
for i in ______: fd(_____)______
答案:
from turtle import *
for i in range(5): fd(200)right(144)
简单应用题2
考生文件夹下存在一个文件PY202.py,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能:
键盘输入一组人员的姓名、性别、年龄等信息,信息间采用空格分隔,每人一行,空行回车结束录入,示例格式如下:
张猛 男 35
杨青女 18
汪海 男 26
孙倩女 22
计算并输出这组人员的平均年龄(保留1位小数)和其中女性人数,结果保存在考生文件夹下,命名为“PY202.txt”。格式如下:
平均年龄是25.2女性人数是2
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准fo = open("PY202.txt","w")
data = input("请输入一组人员的姓名、性别、年龄:") # 姓名 性别 年龄
...
while data:...data = input("请输入一组人员的姓名、性别、年龄:")
...
fo.write("平均年龄是{:.1f} 女性人数是{}".format(______))
fo.close()
答案:
fo = open("PY202.txt","w")
data = input("请输入一组人员的姓名、性别、年龄:") # 姓名 年龄 性别
women_num = 0
age_amount = 0
person_num = 0
while data:name, sex, age = data.split(' ')if sex == '女':women_num += 1age_amount += int(age)person_num += 1data = input("请输入一组人员的姓名、性别、年龄:")
average_age = age_amount / person_num
fo.write("平均年龄是{:.1f} 女性人数是{}".format(average_age, women_num))
fo.close()
综合应用题1
考生文件夹下存在三个Python源文件,分别对应三个问题,请按照文件内说明修改代码,实现以下功能:
法定节假日是根据各国、各民族的风俗习惯或纪念要求,由国家法律统一规定的用以进行庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。法定节假日的体假安排,为居民出行购物和休闲提供了时间上的便利,为拉动内需、促进经济增长做出了积极贡献。给出一2018年的节假日的放假日期CSV文件(PY301-vacations.csv),内容示例如下:
以第1行为例,1230表示12月30日,0101表示1月1日。
问题1(5分):
在PY301-1.py文件中修改代码,读入CSV文件中数据,获得用户输入。根据用户输入的节假日名称,输出此节假日的假期范围。参考输入和输出示例格式如下:
请输入节假日名称(例如,春节):春节
春节的假期位于0215-0221之间
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准...
ls = []
...print("{}的假期位于{}-{}之间".format(______))
答案:
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]))
fi.close()
问题2(5分):
在PY301-2.py文件中修改代码,读入CSV文件中数据,获得用户输入。用户键盘输入一组范围是1-7的整数作为序号,序号间采用空格分隔,以回车结束。屏幕输出这些序号对应的节假日的名称、假期范围,每个节假日的信息行。本次屏幕显示完成后,重新回到输入序号的状态。
参考输入和输出示例格式如下:
请输入节假日序号:1 5
元旦(1)假期是12月30日至01月01日之间
瑞午节(5)假期是06月16日至06月18日之间
请输入节假日序号:
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准...
ls = []
...print("{}({})假期是{}月{}日至{}月{}日之间".format(______))
答案:
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][:-2],line[2][-2:],line[3][:-2],line[3][-2:]))s = input("请输入节假日序号:").split(" ")
fi.close()
问题3(10分):
在问题2的基础上,在PY301-3.py文件中修改代码,对键盘输入的每个序号做合法性处理。如果输入的数字不合法,请输出"输入节假日编号有误!",继续输出后续信息,然后重新回到输入序号的状态。
参考输入和输出示例格式如下:
请输入节假日序号:5 14 11
端午节假期是06月16日至06月18日之间
输入节假日编号有误!
输入节假日编号有误!
请输入节假日编号:
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准...
ls = []
...print("{}({})假期是{}月{}日至{}月{}日之间".format(______))
...if flag == False:print("输入节假日编号有误!")
...
答案:
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:flag = Falsefor line in ls:if i == line[0]:print("{}({})假期是{}月{}日至{}月{}日之间".format((line[1]),(line[0]),line[2][:-2],line[2][-2:],line[3][:-2],line[3][-2:]))flag = Trueif flag == False:print("输入节假日编号有误!") s = input("请输入节假日序号:").split(" ")
fi.close()