【全解析 PTA】浙大版《Python 程序设计》题目集-第三章_len(‘3 11 2018‘

8.列表lst=[12, -5, -22, -10, -26, 35, 0, 49, 3, -21],lst[::-1]的结果是[-21, 3, 49, 0, 35, -26, -10, -22, -5, 12]。T

9.列表lst=[12, -5, -22, -10, -26, 35, 0, 49, 3, -21],lst[::2]的结果是[12, -22, -26, 0, 3]。T

10.列表lst=[12, -5, -22, -10, -26, 35, 0, 49, 3, -21],lst[1::2]的结果是[12, -22, -26, 0, 3]。F

11.列表lst=[12, -5, -22, -10, -26, 35, 0, 49, 3, -21],lst[3:8:2]的结果是[-10, 35, 49]。T

  1. 列表lst=[12, -5, -22, -10, -26, 35, 0, 49, 3, -21],lst[0:100]的结果是错误。F

  2. 列表lst=[12, -5, -22, -10, -26, 35, 0, 49, 3, -21],lst[100:]的结果是[]。T

  3. 列表lst=[12, -5, -22, -10, -26, 35, 0, 49, 3, -21],lst[100]的结果是运行错误

a[0] ##单个数,代表位数,第0位就是a里面的第一位,切割一位

15.下面的程序当输入是 c d e a时,输出是 a c d e。F

a = input().split(" ")[‘’, ‘c’, ‘d’, ‘e’, ‘a’]

for i in a.sort():

print(i,end=" ") 下一个print接着上一个在同一行输出

list.sort( key, reverse ),返回None,默认升序list1.sort(reverse=False);

降序:list1.sort(reverse=True),代码错了

sort()是一个列表(或可变序列)的方法,它直接对原始列表进行排序,而不会创建新的对象。它改变原始列表的顺序,并且不返回任何值(返回值为None)。sorted()是一个内置函数,接受可迭代对象作为参数,并返回一个新的已排序的列表,而不改变原始对象。

总的来说,sort()直接作用于列表本身并修改其顺序,而sorted()则返回一个新的已排序列表,不影响原始数据。

16.表达式:“34” in “1234”==True 返回值是True。F

对于列表只能使用in检查单个数据是否在列表中,对于字符串,in可以检查某个字符串是否是另一个字符串的一部分,结果是bool值

#这个是先运算 运算优先级 == 高于in ‘1234’ == True  ,这个结果为 False,然后再运算 ‘34’ in False,所以结果是False

print(  ‘34’ in ‘1234’ == True )

##这个是先运算括号里面的内容,为True,然后再运算 True == True,结果还是 True

print(  ( ‘34’ in ‘1234’ ) == True )

17.下面程序输出是yes。F

lst=[“1”,“2”,“3”,“4”,“5”]

s1=“”

for c in lst:

s1=s1+c+" "

s2=" ".join(lst)

if s1==s2:

print(“yes”)

else:

print(“no”)

s1 = 1 2 3 4 5 (有空格)

s2 = 1 2 3 4 5(无空格)

. join():将序列(也就是字符串、元组、列表、字典)中的元素以指定的字符连接生成一个新的字符

+可实现:数字相加,字符串拼接,列表合并,元组合并,字典合并

  1. "12 “*3==” ".join([“12”,“12”,“12”]) 的输出是True。F

  2. 语句print(“输出结果是{:8s}”.format(“this”))的输出是:输出结果是 □□□□this。□表示空格。F

同第二章第七题,s表示是字符串,四个□□□□在this右边

20.语句print(“输出结果是{:8d}”.format(1234))的输出是:输出结果是 1234□□□□。 □表示空格。F

d表示是整数,数字默认右对齐

21.语句print(“输出结果是{:08.2f}”.format(14.345))的输出是:输出结果是00014.34。F 00014.35

f表示是浮点数0 表示填充空白处的字符是0。8 表示总字符宽度是8,包括小数点和小数部分。 .2f 表示保留两位小数。

22.[1,2,[3]]+[4,5]的结果是[1,2,3,4,5]。F

[1, 2, [3], 4, 5] 序列加法p59 连接2个序列并保持原有顺序不变

  1. [4,5]*3的结果是[[4,5],[4,5],[4,5]]。F

[4, 5, 4, 5, 4, 5] 列表乘法的操作为重复列表元素

24.下面程序的输出是字符a。F

c=“A”

print(c.lower)# **lower()**函数写错了

牢记各函数

三、单选题
  1. max((3, 5, 1, 7, 4))的结果是D.7

2.以下哪句打印出smith\exam1\test.txt?

B.print(“smith\exam1\test.txt”) 转义字符

  1. list(“abcd”)的结果是? A.[‘a’, ‘b’, ‘c’, ‘d’]

4.如果list1 = [1, 2, 3, 4, 5, 4, 3, 2, 1],那么以下那个是list1[:-1]?C.[1, 2, 3, 4, 5, 4, 3, 2]

5.要把5加到列表lst的末尾,用的是B.lst.append(5)

四、填空题
  1. ‘23’*3的结果是232323

  2. len(‘3//11//2018’.split(‘/’))的结果是5

[‘3’, ‘’, ‘11’, ‘’, ‘2018’]

  1. lst=[3,4,5,6,5,4,3],执行lst.remove(3)后,lst[0]的值是:

lst.remove(value)删除值为value的第一个元素,只删除首次出现的值

  1. list(range(2,12,2))[:-2].pop()的结果是:

lst.pop(index)返回并删除下标为index的元素,默认是最后一个元素

1.  list(range(2, 12, 2))创建了一个列表[2, 4, 6, 8, 10]。这是一个从 2 开始、以步长为2递增到12的列表。

2.  [:-2] 从这个列表中排除了最后两个元素,因此现在列表变为 [2, 4, 6]。

3.  pop() 方法弹出并返回列表的最后一个元素,即 6。

因此,list(range(2, 12, 2))[:-2].pop() 的结果是 6。

5.要想得到[0,100]范围内的随机数,random.randint(0,n)里的n应该是:100

random库 书77 random.randint(a,b)返回一个介于[a,b]的随机整数

random.uniform(a,b)返回一个介于[a,b]的浮点数

  1. print(“{1}+{0}={2}”.format(2,3,2+3))的输出是3+2=5

7.    a=34

b=23

print(“{first}-{second}={0}”.format(34-23,first=a,second=b))

上面程序输出是34-23=11

8. print(“{:>08s}”.format(bin(31)[2:]))的输出是00011111

print(bin(31))
        print(bin(31)[2:])

0b11111

11111

  1. print(“programming”.find(“r”,2))的输出是4

在字符串中找到子串所在位置,不存在返回-1,str.find(str,beg=0,end=len(string))

  1. print(“programming”.find(“x”))的输出是-1

  2. print(“a123”.isdigit())的输出是False

isdigit() 判断单个字符是否为数字;判断字符串中是否含有数字

  1. print(“aABC”.isalpha())的输出是 True

isalpha() 可以判断「字符串」是否只包含「字母」;字符串的所有字符都是字母返

True否则返回False

  1. print(“□□□xyz□□”.strip(),“□□□xyz□□”.rstrip(),
    “□□□xyz□□”.lstrip())的输出是xyz□□□□xyz□xyz□□

内置函数strip,rstrip,lstrip的使用

‘xyz    xyz xyz  ’

14. a=[1,2,3,4]

b=a

print(id(a)==id(b))

c=a.copy()

print(id(a)==id©)

d=a[:]

print(id(a)==id(d))

上面程序的输出依次分别是True False False

•   b = a:这里将列表 b 指向了和列表 a 相同的内存地址,因此 id(a)==id(b) 会返回 True,因为它们指向同一个对象。

•   c = a.copy():使用 copy() 方法创建了列表 c 的副本,它包含了和列表 a 相同的元素,但在内存中却是不同的对象。因此 id(a)==id© 会返回 False,因为它们指向不同的对象。

•   d = a[:]:通过切片操作创建了列表 d 的副本,和 a 的元素相同但在内存中是不同的对象。所以 id(a)==id(d) 会返回 False,因为它们指向不同的对象。

15.列表加元组可以表示二维表。

下面程序用三种不同方式打印表格内容,请填空完成与第一种方式输出一样的后面两种方式,不要加无用空格。

students=[(3180102988,“褚好”),

(3170102465,“王凯亮”),

(3160104下面程序输出值是1。6,“李永”),

(3171104169,“陈鑫”),

(318400429,“徐杭诚”)]

for row in students: #按行存取

print(row[0],row[1])

print()

在这个代码片段中,通过 for row in students: 这行代码,每次循环迭代都会将 students 列表中的一个元组赋值给变量 row。这里的 row 实际上代表了列表中的每个元组。然后,通过 row[0] 和 row[1],可以分别访问每个元组中的学号和姓名。

for id,name in students: #按行拆包存取

print(       id,name        )

print()

直接将元组或列表中的项分别直接赋值给不同的变量

for index in range(len(students)): #按索引存取

print(      students[index][0],students[index][1]         )

print()

  1. print(sum((1,3,5,7,9))/len((1,3,5,7,9)))的输出是5.0

17.下面程序的输出是2

t=1

t,a=2,t+1 #就是解包赋值操作

print(a)

五、编程题

7-1 大于身高的平均值

a_height = list(map(int,input().split()))
avg = sum(a_height) / len(a_height)
for i in a_height:
    if i > avg:
        print("{} ".format(i),end='')

7-2 输出字母在字符串中位置索引

strip_l = list(input())
a,b = input().split()  #本质上也是拆包
c = len(strip_l)
# 序列倒序
for i in strip_l[::-1]:
    c = c - 1
    if c < 0:
        break
    # i == 's' or i == 'p' 错一半
    if i == a or i == b:
        print("{0} {1}".format(c,i))

7-3 求整数的位数及各位数字之和

# num = list(input())
N_num = list(map(int,list(input())))
Count = len(N_num)
Result = sum(N_num)
print(Count,Result)

7-4 字符替换

a = input()
n =''
for i in a:
    num = ord(i)
    if 65 <= num <= 90:
        # 加号有很多功能,可以实现字符串拼接
        # 注意155的含义
        n += chr(155-num)
    else:
        n += i
print(n)

7-5 删除字符

a = input()
c = input()
a = a.strip()
c = c.strip()
new = ''
for i in a:
    if i != c.upper and i != c.lower():
        new += i
    else:
        new += ''
print("result: {}".format(new))

7-6 输出10个不重复的英文字母

a = input()
a = a.replace(' ','')#把字符中的空格换成空
n = ''
for i in a:
    if i.isalpha(): #判断是否为字母
        if i.lower() not in n.lower(): #换成小写判断无重复
            n += i
if len(n) < 10:
    print("not found")
else:
    print(n[:10])

7-7 逆序的三位数

a = input()
b = a[::-1]
 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/0c9e021d0ccb10a9e1ae98c3725cc824.png)

![img](https://img-blog.csdnimg.cn/img_convert/789d196db5ecc8103a068378a1c6c686.png)

![img](https://img-blog.csdnimg.cn/img_convert/b3097ce2c11c0dd0a2f5bb7a6c8c811c.png)

![img](https://img-blog.csdnimg.cn/img_convert/6df4fbb0d0b6885cba5ec00457cce491.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**

c-1713722982890)]

[外链图片转存中...(img-qPAmeeEo-1713722982890)]

[外链图片转存中...(img-edrCARZv-1713722982891)]

[外链图片转存中...(img-l5QS2xi4-1713722982892)]

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**

![](https://img-blog.csdnimg.cn/img_convert/99f046fade8297d84c61a30d9deeec9a.jpeg)
  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值