欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python练习题

程序员文章站 2022-06-18 23:38:14
吴辉呆呆吴辉一、单选题 ( 本大题 10 道小题 ,每小题 1.5 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。1.已知 x, y = 1, 2,那么执行x, y = y, x 之后,x的值为____D_____。A.1B.(1, 2)C.不符合语法,报错D.22.已知 x = ‘abcdefg’,若要得到’defgabc’结果,应使用表达式______A____________。A.x[3:] + x[:3]B.x[:3] + x[:3]...

吴辉呆呆吴辉

一、单选题 ( 本大题 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以下的数,则转换为字符格式。从低位至高位连接字符串并返回结果。
    python练习题
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. 某班男女两队同学各若干人,已按身高由低到高存放在两个列表中。体育课排队欲由男、女两队合为一队。请保持从低到高的顺序不变,将合并队列的结果按格式"身高(性别)"输出。如下图所示。
    python练习题
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<90 0.00015
90≤T<180 0.00020
180≤T 0.00025

c:\ks\程序调试题1.py程序的功能:输入理财产品金额和存款天数,计算预计收益金额。
python练习题

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个字符的平行四边形图案。结果如下图所示。
python练习题

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元/小时。编程实现根据用户类型和使用时间计算支付费用。
python练习题

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”是以逗号分隔的日期、血压、心率记录数据文本文件(局部如下图所示)
python练习题
请找出并打印收缩压<140而心率>75的记录,并统计收缩压的总平均值(保留3位小数)。运行结果(局部)如图所示。程序保存在C:\KS目录下,名为****4_1.py**** ,不必生成.exe文件。
python练习题
数据分析题运行结果局部图

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项之和。
python练习题
(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****。
python练习题
计算题运行结果图

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))

本文地址:https://blog.csdn.net/qq_43307268/article/details/109880013