admin 管理员组

文章数量: 1086019


2024年3月14日发(作者:onreadystatechange 事件会调用一个action)

1.

101

描述

参照代码模板完善代码,实现下述功能。输入一个字符串,其中的字

符由(英文)逗号隔开,编程将所有字符连成一个字符串,输出显示

在屏幕上。

输入输出示例

输入

示例

1

1,2,3,4,5

输出

12345

习题讲解

答案:

ls= input("请输入一个字符串,由逗号隔开每个字符:").split(',')(1)

print(''.join(ls))(2)

要点:

1. 题目要求输入的字符用逗号隔开,所以,需要用到split(',')来从字符串里提取

所输入的字符

2. 经过split()函数的字符串,返回的是列表

3. 字符串有个操作函数是 (ls),可以把列表里的各个元素,用str的内

容连接起来。本题利用了空字符串‘’,来调用这个函数,因此,达到了所想要的

效果:将带有逗号的字符串变换成了没有逗号的字符串。

4. 有一个不可忽视的地方是join()函数的括号里的参数是列表,如果忘了这一

点,会犯错

5. 这个功能利用好了,可以拓展,解决其他的问题。

2.102

描述

参照代码模板完善代码,实现下述功能。

有一个列表 studs 如下:

studs= [{'sid':'103','Chinese':

90,'Math':95,'English':92},{'sid':'101','Chinese':

80,'Math':85,'English':82},{'sid':'102','Chinese':

70,'Math':75,'English':72}]

将列表 studs 的数据内容提取出来,放到一个字典 scores 里,在屏

幕上按学号从小到大的顺序显示输出 scores 的内容。内容示例如

下:

101:[85, 82, 80]

102:[75, 72, 70]

103:[95, 92, 90]

输入输出示例

输入

示例

1

输出

101:[85, 82, 80]

102:[75, 72, 70]

103:[95, 92, 90]

习题讲解

答案:

studs= [{'sid':'103','Chinese':

90,'Math':95,'English':92},{'sid':'101','Chinese':

80,'Math':85,'English':82},{'sid':'102','Chinese':

70,'Math':75,'English':72}]

scores = {}

for stud in studs:

sv = ()

v = []

for it in sv:

if it[0] =='sid':

k = it[1]

else:

(it[1])

scores[k] = v

# print(scores)

so = list(())

(key = lambda x:x[0],reverse = False)

for l in so:

print('{}:{}'.format(l[0],l[1]))

studs= [{'sid':'103','Chinese':

90,'Math':95,'English':92},{'sid':'101','Chinese':

80,'Math':85,'English':82},{'sid':'102','Chinese': 70,'Math':75,'English':72}]

lit=[]

for i in studs:

lst=[]

a=('sid')

(('Chinese'))

(('Math'))

(('English'))

(reverse=True)

lat=[]

(a+":")

(str(lst))

(lat)

()

for i in lit:

print("".join(i))

要点:

1. 字典作为元素,定义在列表里,用列表的遍历就可以从中提取出来

2. 提取出来的元素直接就是字典,因此可以用 items()直接获取,形成键值

对对象集合 sv;

3. 对键值对对象集合sv遍历,就可以以元组it的方式访问其中的每一对键值对,

sv = (),是第一个空的答案;

4. 题目要求提取学生的学号,所以需要比较键it[0]是否是'sid',是则将学号it[1]

提取出来作为新的字典scores的键k;不是则将成绩提取出来作为新字典scores

的值v;

5. 由于课程是多门,因此新字典scores的值v需要以列表的方式,保存各门课

程的成绩,所以在不是的情况下,新字典scores的值v是利用append(it[1])

的方式,追加到列表的后面;

6. 对v做append操作,必须要事先定义v是一个空列表;因此需要在对每一条

旧字典stud的键值对信息做处理的for it in sv:语句之前,用v = []初始化v为一

个空列表;

7. 经过对一条字典stud的处理,就形成一对k和v,所以接下来是给新字典

scores添加一条键值对,scores[k] = v,是第二个空的答案

8. 经过对全部的studs列表里的各条字典处理完之后,新的scores字典就全部

生成。

9. 题目要求按学号从小到大的顺序输出学号和成绩,所以需要对字典的键值对

内容items()提取到列表so里,此处是第三个空的答案:so = list(())

10. 用Lambda函数进行排序。这个不在考试范围里,所以代码模板直接给出语

句;

11. 对排好序的列表输出每组列表,这个直接给出语句,不再赘述。

3.103

描述

参照代码模板完善代码,实现下述功能。

从键盘输入一个用于填充的图符,一个字符串,一个要显示的字符串

的总长度;编程将输入的字符串,居中输出显示在屏幕上,用填充图

符补齐到输入的总长度。如果总长度处输入的不是正整数,则提示请

输入一个正整数,并重新提示输入,直至输入正整数。

输入:

请输入填充符号:@

请输入要显示的字符串:qq

请输入字符串总长度:r

请输入一个正整数

请输入字符串总长度:3.4

请输入一个正整数

请输入字符串总长度:4

输出:

@qq@

输入输出示例

输入

示例

1

@

qq

4

输出

@qq@

习题讲解

答案:

#请在____处填写一行代码#请在… 处填写多行代码#不要修改已给出代码

a = input() # 请输入填充符号

c = input() # 请输要显示的字符串

flag = 1

while flag:

try:

b = eval(input()) # 请输入字符串总长度

except:

flag = 1

print("请输入一个正整数")

else:

if type(b)== int and b>0:

flag = 0

else:

flag = 1

print("请输入一个正整数")

print('{0:{1}^{2}}'.format(c,a,b))

4.201

描述

参照代码模板完善代码,实现下述功能,不得修改其它代码。使用

turtle 库的 () 函数和 () 函数绘制螺旋状的正方

形,正方形边长从 1 像素开始,第一条边从 0 度方向开始,效果如

下图所示。

---------------------------------------------------------------

自动评阅说明

使用字符串形式输出 ____①____,____②____,____③____中应填代码即可以

自动评阅得分

例如,如果代码为:

# 代码模板 | # 你的代码import turtle | import

turtle

d = 0 | d = 0for i in range(__1__): | for i in range(1):

(__2__) | (100)

d = __3__ | d = (i + 100) * 100

(d) | (d)

则在提交代码页面输入:

print('1', '100', '(i + 100) * 100')

提交后即可以查看得分

注:如果有运算符,请在运算符两侧加上空格

习题讲解

答案:

import turtle

d = 0

k = 1

for j in range(10):

for i in range(4):

(k)

d += 91

(d)

k += 2

()

要点:

1. 降低了难度,让填写的都是最简单的

5.202

描述

参照代码模板完善代码,实现下述功能,可以修改其它代码。附件文

件 中有一道 Python 选择题,第 1 行的第 1 个数据为

题号,后续的 4 行是 4 个选项。示例内容如下:

3. 以下关于字典类型的描述,错误的是:

A. 字典类型中的数据可以进行分片和合并操作

B. 字典类型是一种无序的对象集合,通过键来存取

C. 字典类型可以在原来的变量上增加或缩短

D. 字典类型可以包含列表和其他数据类型,支持嵌套的

字典


本文标签: 代码 字符串 输入 列表 字典