吴辉呆呆吴辉

吴辉呆呆吴辉

一、单选题 ( 本大题 10 道小题 ,每小题 1.5 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1.已知 x, y = 1, 2,那么执行x, y = y, x 之后,x的值为____D_____。

A.1

B.(1, 2)

C.不符合语法,报错

D.2

2.已知 x = ‘abcdefg’,若要得到’defgabc’结果,应使用表达式______A____________。

A.x[3:] + x[:3]

B.x[:3] + x[:3]

C.x[3:] + x[3:]

D.x[:3] + x[3:]

3.执行结果为[1, 2, 3, 1, 2, 3, 1, 2, 3] 的表达式是__________D__________。

A.[1,2,3]+ [1,2,3]

B.[‘1’,‘2’,‘3’]+ [‘1’,‘2’,‘3’]+ [‘1’,‘2’,‘3’]

C.[1, 2, 3]**3

D.[1, 2, 3]*3

4.表达式 (1, 2, 3)+(4, 5) 的值为________B_________。

A.(5,7,3)

B.(1, 2, 3, 4, 5)

C.(1,6,8)

D.(15,)

5.下列关于字典对象方法的描述,不正确的是___D____。

A.方法get()可以获取指定“键”对应的“值”,并且可以在指定“键”不存在的时候返回指定值,如果不指定则返回None

B.方法items()返回字典中的“键-值对”列表

C.方法keys()返回字典的“键”列表

D.“字典[键]”的表达式(例如dict[‘name’])的结果与方法get()的结果完全相同

6.Python的分支语句可使用关键字___C___。

A.then

B.else if

C.elif

D.elseif

7.在循环语句中,____A_____语句的作用是提前结束所在循环体。

A.break

B.while

C.for

D.continue

8.已知有函数定义

def demo(x):

return x**2

则该函数用lambda表达式应表示为____C____。

A.x:lambda x**2

B.x:x**2(lambda)

C.lambda x:x**2

D.x**2: lambda x

9.下面代码对文本文件“text.txt”操作后,变量a的数据类型是___A____。

MyFile=open(‘text.txt’,‘r’)

a=MyFile.readline()

A.字符串

B.列表

C.元组

D.字典

10.描述对象静态特性的数据称为____C____。

A.方法

B.类型

C.属性

D.消息

二、程序填空题 ( 本大题 2 道小题 ,每空 2.5 分,共 20 分)。

  1. 程序功能为:输入十进制整数和欲转换的进制数r,将十进制转换为r进制。编程思想为:调用函数DToR,逐位求模。若该位为大于9的数,则以字母代表(提示:大写字母’A’的ASCII码值等于65);若该位为9以下的数,则转换为字符格式。从低位至高位连接字符串并返回结果。
    在这里插入图片描述
def DToR(m,r):
    t=__(1)’’____
    while m!=0 and r!=0:
        c=m % r    #求模
        if (c>9):
            t=chr(c-10+65)+t
        else:
            t=_____(2)str(c)_____+t
        m = m // r   #整除
    return_____(3)t_____

while True:
    ipt=input("请输入十进制整数('q' 退出程序):\n")
    if ipt=='q':
        break
    r=int(input("请输入欲转换进制(如2,8,16等):\n"))
    rst=DToR(______(4)int(ipt)______,r)
    print('将%s转换为%d进制的结果为:%s' %(ipt,r,rst))
  1. 某班男女两队同学各若干人,已按身高由低到高存放在两个列表中。体育课排队欲由男、女两队合为一队。请保持从低到高的顺序不变,将合并队列的结果按格式"身高(性别)"输出。如下图所示。
    在这里插入图片描述
boy = [1.69, 1.72, 1.78, 1.83, 1.89]
girl = [1.61, 1.64, 1.65, 1.72]
i = j = 0
print('男队身高:', end='')
for b in boy:
    print(b, end=' ')
print('\n女队身高:', end='')
for g in girl:
    print(g, end=' ')
print('\n合并后:', end='')
while i < len(boy) and j < len(girl):
    if boy[i] < girl[j]:
        print(____(1)boy[i]____, '(男)', sep='', end = ' ')
        i += 1
    else:
        print(____(2)girl[j]____, '(女)', sep='', end = ' ')
        j += 1
while i < ____(3)len(boy)____:
    print(boy[i], '(男)', sep='', end = ' ')
    i += 1
while j < len(girl):
    print(girl[j], '(女)', sep='', end = ' ')
    j = ____(4)j+1____

三、程序调试题********(********本大题3道小题,********各有3处语法或逻辑错误********,根据题目功能描述,在C:\KS\相应程序中,********不增删语句,********调试修改错误,实现功能。请在改正过的语句后面以“********####********”作为标记。********每题10分,共30分********)

  1. 调试题1

某理财产品的每日收益率如下表所示,按日计算收益(不计复利)。

天数每日收益率
1≤T<900.00015
90≤T<1800.00020
180≤T0.00025

c:\ks\程序调试题1.py程序的功能:输入理财产品金额和存款天数,计算预计收益金额。
在这里插入图片描述

s = input('请输入购买理财产品金额:')
money=float(s)
s = input('请输入存款天数:')
days = int(s)
if 1 <= days < 90: 
    rate = 0.00015####
elif 90 <= days < 180:####
    rate = 0.00020
else: 
    rate = 0.00025
income = money * rate *days####
print('收益金额为:',income) 

2.调试题2

c:\ks\程序调试题2.py程序的功能:输入正整数作为行数,用字母输出每行固定4个字符的平行四边形图案。结果如下图所示。
在这里插入图片描述

s = input('输入行数:')
line=int(s)
for i in range(line):####
    space=line-1-i
    print(' '*space, end = '')####
    ch = chr(ord('A') + i)
    print(ch*4) ####
  1. 调试题3

c:\ks\程序调试题3.py程序的功能:某共享单车的收费标准按用户类型不同计价,合作院校师生:0.5元/小时,其他用户:1元/小时。编程实现根据用户类型和使用时间计算支付费用。
在这里插入图片描述

p=[0.5,1.0]  #单价
tn=['合作院校师生','其他用户']

while True:
    sel=input('请输入用户选择:0为合作院校师生,1为其他用户,输入其他字符为退出')
    if sel not in (str(0),str(1)):####
        break
    time=float(input('请输入骑行时间'))####
    fee=p[int(sel)] * time
    s='{}骑行{}小时,收费{}元'.format(tn[int(sel)], time, fee)
    print(s)####

四、编程题(共35分)

1.数据分析题(17分):

“C:/素材/BP.txt”是以逗号分隔的日期、血压、心率记录数据文本文件(局部如下图所示)
在这里插入图片描述
请找出并打印收缩压<140而心率>75的记录,并统计收缩压的总平均值(保留3位小数)。运行结果(局部)如图所示。程序保存在C:\KS目录下,名为****4_1.py**** ,不必生成.exe文件。
在这里插入图片描述
数据分析题运行结果局部图

txt = open('C:/素材/BP.txt', 'r')
nr = txt.readlines()
list = []
for line in nr:
    line = line.strip('\n')
    lists = line .split(',')
    list.append(lists)
ans = 0
for a in range(1, len(list)):
    if (int(list[a][1]) < 140) and (int(list[a][3]) > 75):
        print('符合条件的计入为:时间:' + str(list[a][0]) + ',收缩压:' + str(list[a][1]) + ',舒张压:' + str(list[a][2]) + ',心率:' + str(list[a][3]))
    ans = ans + int(list[a][1])
print('收缩压平均值:' + str(ans/(len(list)-1)))
a = input()

2.运算题(18分):

计算结果由两部分构成:

(1)输入要计算的多项式项数值n(1≤n<10),计算下列多项式的前n项之和。
在这里插入图片描述
(2)“c:\素材\AIfuna-1.0-py3-none-any.whl”是某第三方智能算法包,其中包含两个函数funa(x)和funb(x),传入和输出均为数值类型。请导入第三方包aifuna,并计算aifuna.funb(n)的结果(n为上述多项式项数)。

将两部分计算结果求和输出为总结果 s+ aifuna.funb(n)。程序保存在c:\ks目录下,名为 ****4_2.py****。
在这里插入图片描述
计算题运行结果图

import aifuna

n = int(input("请输入正整数(输入0退出程序):"))
s = 0
for i in range(1, n + 1):
    s = s + ((-1) ** i) * ((2 * i - 1) / ((2 * i + 1)*(i + 1)))
print('该多项式前 ' + 'n' + ' 项之和为 ' + str(s))
ans = s + aifuna.funb(n)
print('总和为 ' + str(ans))
  • 14
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值