栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习 DAY 15 Python测试题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python学习 DAY 15 Python测试题

DAY 15 Python测试题 (一)填空题

1.list(map(str, [1, 2, 3]))的执行结果为

['1', '2', '3']

map() 会根据提供的函数对指定序列做映射

2.语句x = 3==3, 5执行结束后,变量x的值为

True,5

3.已知 x = 3,并且id(x)的返回值为 496103280,那么执行语句 x += 6 之后,表达式 id(x) == 496103280 的值为

False

+号操作对可变对象和不可变对象都会改变id,+=号操作改变不可变对象id,不改变可变对象id,数字是不可变对象。

4.Python语句’’.join(list(‘hello world!’))执行的结果是

'hello world!'

5.Python语句list(range(1,10,3))执行结果为

[1, 4, 7]

6.切片操作list(range(6))[::2]执行结果为

[0, 2, 4]

7.Python 3.x语句 print(1, 2, 3, sep=’:’) 的输出结果为

1:2:3

8.使用列表推导式得到100以内所有能被13整除的数的代码可以写作

list = [i for i in range(100) if i%13 == 0]

9.已知 vec = [[1,2], [3,4]],则表达式 [col for row in vec for col in row] 的值为

[1, 2, 3, 4]

10.表达式 ‘Hello world’.upper() 的值为

'HELLO WORLD'

11.已知 x = ‘123’ 和 y = ‘456’,那么表达式 x + y 的值为

'123456'

12.表达式 ‘a’.join(‘abc’.partition(‘a’)) 的值为

'aaabc'

partition() 方法用来根据指定的分隔符将字符串进行分割,返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

13.表达式 ‘Hello world!’[-4:] 的值为

'rld!'

14.已知 ,那x = (3,)么表达式 x * 3 的值为

(3, 3, 3)

15.如何实现“1,2,3”变成[‘1’,‘2’,‘3’]

'1,2,3'.split(',')

16.如何实现[‘1’,‘2’,‘3’]变成[1,2,3]

list = [int(i) for i in a]

17.已知列表 x = [1, 2, 3, 4],那么执行语句 del x[1] 之后x的值为

[1, 3, 4]

18.表达式 {1, 2, 3} < {3, 4, 5} 的值为

False

19.表达式 dict(zip([1, 2], [3, 4])) 的值为

{1: 3, 2: 4}

zip():将可迭代的对象作为参数,将对象中对应的元素打包成一个个远足,然后这些元祖的列表
zip([1,2],[3,4]) ==> [ ( 1 , 3 ) , ( 2 , 4 ) ]
dict():转换为字典 ==> { 1 : 3 , 2 : 4 }

20.已知 x = [[1,3,3], [2,3,1]],那么表达式 sorted(x, key=lambda item:item[0]+item[2]) 的值为

[[2, 3, 1],[1, 3, 3]]

21.表达式 sorted(random.sample(range(5), 5)) 的值为

[0, 1, 2, 3, 4]

sample(sequence, k)方法返回一个列表,其中从序列中随机选择指定数量的项目。sequence为序列,k为返回列表的大小

22.已知 x = [3, 2, 3, 3, 4],那么表达式 [index for index, value in enumerate(x) if value==3] 的值为

[0, 2, 3]

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。本题列出等于3的值的偏移量。

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

23.如何用列表生成式生成[1,4,9,16,25,36,49,64,81,100]

list = [i*i for i in range(1,11)]

24.如果用一行代码实现1~100的求和

sum(range(1,101))

25.假设列表对象aList的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[3:7]得到的值是

[6, 7, 9, 11]
(二)判断题

1.带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码。

2.使用列表对象的remove()方法可以删除列表中首次出现的指定元素,如果列中不存在要删除的指定元素则抛出异常。

3.可变集合有:列表,字典。 不可变集合有:数字,字符串,元组。

4.定义Python函数时,如果函数中没有return语句,则默认返回空值None。

5.== 比较的是内容相等,is 比较的是内存地址相等。

(三)编程题

1.鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。

for i in range(1,31):
    j=30-i
    if i*2+j*4 == 90:
        break

print("鸡有{0}只,兔有{1}只".format(i,j))

运行结果:鸡有15只,兔有15只

2.编写程序,计算百钱买百鸡问题。假设公鸡5元一只,母鸡3元一只,小鸡1元三只,现在有100块钱,想买100只鸡,问有多少种买法?

for x in range(1,101):
    for y in range(1,101):
        z = 100-5*x-3*y
        z1 = 3*z
        if x+y+z1==100:
            print(x,y,z1)

运行结果:

4 18 78
8 11 81
12 4 84

所以共有三种。

3.判断101-200之间有多少个素数,并输出所有素数。

def isPrime(n):
  if n <= 1:
    return False
  i = 2
  while i*i <= n:
    if n % i == 0:
      return False
    i += 1
  return True

num = 0
for i in range(1,101):
    if isPrime(i):
        num+=1
print(num)

运行结果:25

4.题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,
可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,
高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,
从键盘输入当月利润I,求应发放奖金总数?

lirun = float(input("当月利润为:"))
jiangjin = 0.0
if lirun <= 100000:
    jiangjin = lirun*0.1

if 100000 1000000:
    jiangjin = 100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(lirun-1000000)*0.01

print("奖金为:",jiangjin)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/295830.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号