文章目錄
- 基本操作題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()
????