基本操作题
题目1
考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
随机选择一个专业屏幕输出。
代码
import random
brandlist = ['数学与应用数学','统计学','金融数学','信息与计算科学','应用统计学']
random.seed(10)
name = random.choice(brandlist)
print(name)
题目2
2.考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:根据斐波那契数列的定义,F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2) (n>=2),输出不大于100的序列元素。例如:屏幕输出实例为:
0,1,1,2,3,…(略)
代码
a, b = 0, 1
while a<100:
print(a, end=',')
a, b = b, a+b
简单应用题
题目1
使用turtle库的turtle.fd()函数、turtle.left()函数和turtle.circle()函数绘制一个边长为200的正方形及一个紧挨四个顶点的圆形,在考生目录下给出了程序框架文件PY201.py,在横线处补充代码,不得修改其它代码。效果如下图所示。 (正方形外套着一个圆 正方形的四个顶点刚好在圆上)
代码
import turtle
turtle.pensize(2)
for i in range(4):
turtle.fd(200)
turtle.left(90)
turtle.left(-45)
turtle.circle(100*pow(2,0.5))
题目2
2.获得用户的非数字输入,如果输入中存在数字,则要求用户重新输入,直至满足条件为止,并输出用户输入字符的个数,完善PY202.py文件中的代码。
代码
while True:
s = input("请输入不带数字的文本:")
import re
if (not re.search(r'\d', s)):
break
print(len(s))
综合题
题目
考生文件夹下存在一个文件PY301.py,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能:
键盘输入小明学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入,示例格式如下:
数学 90
语文 95
英语 86
物理 84
生物 87
屏幕输出得分最高的课程及成绩,得分最低的课程及成绩,以及平均分(保留2位小数)。
注意,其中逗号为英文逗号,格式如下:
最高分课程是语文95,最低分课程是物理84,平均分是88.40
代码
Score={}
# print("请输入课程名称及考分信息,空行回车结束输入!")
while(True):
inputString = input()
if(not inputString):
break
courseName,courseScore = inputString.split()
# print("课程名称{0},课程分数{1},已成功录入!".format(courseName,eval(courseScore)))
# print("请继续输入,空行回车结束输入")
Score[courseName]=eval(courseScore)
Score_order=sorted(Score.items(),key=lambda x:x[1],reverse=False)
avgScore=round(sum(Score.values())/len(Score),2)
print("最高分课程是{topScoreName}{topScoreScore},最低分课程是{lowScoreName}{lowScoreScore},平均分是{avgScore}"
.format(topScoreName=Score_order[-1][0]
,topScoreScore=Score_order[-1][1]
,lowScoreName=Score_order[0][0]
,lowScoreScore=Score_order[0][1]
,avgScore=format(avgScore,'.2f')
))