十三届蓝桥杯青少年组Python省赛集训
一、选择题
1、以下python不支持的数据类型有()
A.char
B.int
C.float
D.list
答案:A 解析:python里面都是字符串
2、以下选项中符合python语言变量命名规则的是()
A.*i
B.3_1
C.AI!
D.Templist
答案:D 解析:命名规则不能有特殊符号、不能数字开头
3、以下哪个选项是正确的字符串()
A.'abc"ab"
B.'abc'ab'
C."abc"ab"
D."abc\"ab"
答案:D 解析:\转义字符
4、以下不能创建字典的语句是()
A.dict1={}
B.dict2={3:5}
C.dict3={[1,2,3]:"uestc"}
D.dict4={(1,2,3):"uestc"}
答案:C
解析:Python不支持字典的key为list或dict类型
list和dict类型是unhashable(不可哈希)的
5、已知Is=[3.5,"Python",[10,"LIST"],3,6],那么Is[2][-1][1]的运行结果是()
A.I
B.P
C.Y
D.L
答案:A
解析:Is[2][-1][1] 找到Is里面的第二个元素【10,"LIST"】
-1:代表最后一个,然后找到下标1对应的I
二、编程题
第一道编程题
程序代码:
s=input()
if s.endswith("er"):
s=s.rstrip("er")#去掉右边的结尾er
elif s.endswith("ly"):
s=s.rstrip("ly")
elif s.endswith("ing"):#判断结束位置是否是ing
s=s.rstrip("ing")
print(s)
第二道编程题:
程序代码:
n=int(input())
cnt=0
for i in range(1,n+1):
s=0
for j in range(1,i):
if i%j==0:
s+=j#完成累加功能
if s==i:#如果满足题意则累加和打印输出
cnt+=1
print(i)
print("*"+str(cnt))
第三道编程题:
程序代码:
d=int(input())
s=d*d/4
print("{:.2f}".format(s))#格式化输出
第四道编程题:
程序代码:
n=input()
d1={"a":"01","b":"02","c":"03","d":"04",
"e":"05","f":"06","g":"07","h":"08",
"i":"09","j":"10","k":"11","l":"12",
"m":"13","n":"14","o":"15","p":"16",
"q":"17","r":"18","s":"19","t":"20",
"u":"21","v":"22","w":"23","x":"24",
"y":"25","z":"26"}
d2={"0":"27","1":"28","2":"29","3":"30",
"4":"31","5":"32","6":"33","7":"34",
"8":"35","9":"36"," ":"00"}
s1=""
s2=""
for i in n:
if i in d1:
s1+=d1[i]
else:
s1+=i#空格情况
for i in s1:
if i in d2:
s2+=d2[i]
else:
s2+=i#空格情况
print(s2)
第五道编程题
程序代码:
#思路:通过对比天数大小判断节气
#月份-天数
month_days=[31,29,31,30,31,30,31,31,30,31,30,31]
#节气
jq=["LC","YS","JZ","CF",
"QM","GY","LX","XM",
"MZ","XZ","XS","DS",
"LQ","CS","BL","QF",
"HL","SJ","LD","XX",
"DX","DZ","HX","DH"]
#节气-天数
days=[35,50,65,80,
95,110,126,141,
157,173,188,204,
220,235,251,266,
282,297,313,328,
343,357,371,386]
#输入字符串
s=input()
#分割成列表
a=s.split("*")
#建立空列表
t=[]
for i in a:
t.append(int(i))
#年-月-日
year=t[0]
month=t[1]
date=t[2]
cnt=0#天数计数
#统计总天数
if year==2020:
for i in range(month-1):#当月之前的统计出来
cnt+=month_days[i]
cnt+=date#累加这个月的天数
elif year==2021:
cnt=366+date#因为最多到下年一月份,可以直接统计天数
#筛选
for i in range(len(days)):
if days[i]==cnt:#匹配
print(jq[i])
break
elif cnt<days[i]:#小于下一个节气,输出下一个节气
print(jq[i])
break

添加 家长论坛微信
全部 0条评论