1.有n个从小到大排列的整数依次存储在列表nums中,现要求将上述n个数的平方按从小到大的顺序依次存入列表ans中。如nums = [-4,-1,0,3,10],则ans = [0,1,9,16,100]。
(1) 实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。

# 输入n个数从小到大依次存储到列表nums中,代码略

k = -1

for i in range(n):

    if nums[i] < 0:

        k = i

    else:

        break

ans = []

i, j = k, k + 1

while i >= 0 or j < n:

    if i < 0:

        ans.append()

        j += 1

    elif j==n:

        ans.append(nums[i] * nums[i])

       

    elif :

        ans.append(nums[i] * nums[i])

        i -= 1

    else:

        ans.append(nums[j] * nums[j])

        j += 1

print(ans)

(2) 若输入nums的数据为[-4,1,4],则输出ans的值为
【考点】
排序算法及程序实现; 分支结构语句及程序实现; 循环结构语句及程序实现; 基本数据结构;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 未知 困难
能力提升
真题演练
换一批
1.利用身份证号码可以推算出年龄,性别以及相应的生肖。其中18位身份证号码中的7-10位表示出生年份,年龄为当年年份减去出生年份的值。而生肖为出生年份整除12所得余数与下表所对应的值取得。

4

5

6

7

8

9

10

11

0

1

2

3

(1) 实现上述功能的部分程序代码如下,请在划线处填入合适的代码。

ID=input("请输入18位身份证号: ")

sx=[‘鼠’,‘牛’,‘虎’,‘兔’,‘龙’,‘蛇’,‘马’,‘羊’,‘猴’,‘鸡’,‘狗’,‘猪’]

#计算年龄:

year=int(ID[6:10])                # 取出身份证中的出生年份

age=            # 计算该身份证主人当年年龄(取2021)

#判断性别:

F_ sex-int( )             # 取出身份证中用于判断性别的第17位数字字符

If           # 判断性别的的数字奇数为男性,偶数为女性

    sex="男"

else:

    sex="女"

    #判断生肖:

    F_ sx=()%12

    anl=sx[F_ sx]

print("年龄是: ",age,"性别是: ",sex,"生肖是: ", an1)

(2) 在上述程序代码中,变量year的数据类型为(              A. 整型 B. 实型 C. 字符串型 D. 布尔型
(3) 以下代码与程序加框处代码功能相同的有(              A. int[ID(16)] B. int(ID[:-1]) C. int(ID[-2:-3:-1]) D. int(ID[-2:-1]) E. int(ID[16]) F. int(ID[17:18])
综合题 常考题 普通
2.某校为了响应双减政策每周加设了一节体育选修课程,为了便于学校师资安排及课程的开设,需要对学生选课需求进行摸排。学校可以开设的课程共9门,在前期选课时学生可以选择自己喜欢的3门课程,选课信息已保存在文本文件中(课程名称用数字1~9表示),最终每个学生只安排1门课程学习。为了统计每门课程的选课人数及同选最多的两门课程,编写了以下程序。

所谓“同选”是指学生在3门课的选择中最喜欢一起选的两门课,比如A同学选了124,B同学选了134,则同选最多的两门课为14。请回答以下问题:

(1) 该程序先将文本文件的选课数据读取并保存到列表xk中,文本文件及读取到列表后部分数据如图所示,则该列表数据项的数据结构是(选填:字符串/列表/字典),数据项中的数据元素(如‘5’)的数据类型是(选填:整型/实型/字符串型)

  

(2) 程序运行结果如图所示,补充完整划线处的代码

course=["排球","篮球","足球","羽毛球","乒乓球","网球","健身操","游泳","太极"]

xk=[]       #存储选课信息,用数字1~9表示9门课程

f=[0]*9     #存储9门课程的选课人数

d=[0]*100   #存储两门课程同选的次数,如d[26]=50表示篮球和网球被50个同学同选

def relation(y):          #计算列表y中各数据项的同选次数

    for i in range(1,10):

        for j in range(i+1,10):

            if str(i) in y and str(j) in y:            #课程i,j均在列表y中出现

                d[10*i+j]+=1        #第i和第j门课程同选次数加1存储在列表d中

file=open("xk.txt","r")      #打开文件

line=file.readline()

while line:               #读取文件数据到列表xk中,数据样式详见第(1)小题图所示

    line=line.split()

    xk.append(line)

    line=file.readline()

file.close()

for y in xk:               #对列表xk中的各数据项进行处理

    relation(y)           #调用定义函数统计y中各门课程同选次数,存储到列表d中

    for x in y:            #遍历数据项y中的元素,统计每门课程的选课人数

       

for i in range(9):

    print(course[i],"选课人数:",,"人")   #输出每门课程的选课人数

maxd=max(d)

print("同选最多的两门课程是:")

for k in range(100):

    if d[k]==maxd:

        print(course[k//10-1],)       #根据列表d的索引计算两门同选课程索引

综合题 常考题 困难