【全解析 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():将序列(也就是字符串、元组、列表、字典)中的元素以指定的字符连接生成一个新的字符

+可实现:数字相加,字符

### 团体天梯赛 PTA Python3 题目及解题思路 #### 解析与背景 团体程序设计天梯赛(PTA)是一个面向高校学生的编程竞赛平台,其中涉及大量算法和数据结构的基础题目。对于Python3选手而言,掌握基本的数据处理、字符串操作以及简单的数学逻辑是必备技能。 以下是两道经典的PTA Python3题目及其解决方案: --- #### **L1-046 整除光棍** 这是一道典型的模拟计算问题,目标是从最小的由`1`组成的数字开始寻找能够被输入整数`x`整除的第一个数值,并输出商和该数字长度。 ##### 实现代码 ```python if __name__ == "__main__": x = int(input()) i = 1 while True: if i % x == 0: print(int(i // x), len(str(i))) break i = i * 10 + 1 # 构造下一个“光棍”数 ``` 上述代码通过不断构造形如`1, 11, 111...`这样的“光棍”数来测试其能否被`x`整除[^1]。当找到符合条件的数时,打印对应的商和当前“光棍”数的位数。 --- #### **L1-003 个位数统计** 此题要求对任意给定的一个正整数N,统计每一位数字出现的频率并按顺序输出结果。 ##### 实现代码 ```python from collections import Counter n = input().strip() counter = Counter(n) for digit in range(10): count = counter.get(str(digit), 0) if count != 0 or digit == 9: # 输出条件控制 print(f"{digit} : {count}") ``` 这段代码利用了`collections.Counter`模块高效地完成字符计数工作[^2]。它遍历从`0`到`9`的所有可能数字,并依据实际统计数据决定是否显示对应项的结果。 --- #### 准备方法建议 为了更好地应对这类比赛中的挑战,可以从以下几个方面着手准备: 1. 夯实基础语法:熟悉Python内置函数的应用场景; 2. 练习常见算法模板:比如排序、查找等经典模型; 3. 提升调试能力:学会快速定位错误源并通过修改完善自己的解答方案。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值