第九周python练习(终章)

这是一系列关于Python编程的练习,涵盖了列表操作、算法实现、数据处理等多个主题。练习包括一帮一学习小组的匹配算法、列表元素的加权和、元素个数的加权计数、特定层元素个数、最高总分学生查找、全排列输出、词频统计、特殊数列求和、素数和、数字出现次数统计、Fibonacci数计算以及余弦函数的近似值等。通过这些练习,可以深入理解和应用Python编程技巧。
摘要由CSDN通过智能技术生成

1、第6章-2 一帮一

“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。

我的代码:

n = int(input())
ClassSex = []
ClassName = []
index = 0
index_reverse = -1

for i in range(n):
    sex, name = input().split()
    ClassSex.append(sex)
    ClassName.append(name)

while index_reverse >= -len(ClassSex):
    if ClassSex[index] != ClassSex[index_reverse]:
        print("{:} {:}".format(ClassName[index], ClassName[index_reverse]))
        del ClassSex[index]
        del ClassName[index]
        del ClassSex[index_reverse]
        del ClassName[index_reverse]
        index_reverse = -1
    else:
        index_reverse -= 1

他人的代码:

N = int(input())
f = []
m = []
peo = []
for i in range(N):
    temp = input().split()
    peo.append(temp[1])
    if temp[0] == '0':
        f.append(temp[1])
    else:
        m.append(temp[1])
for i in range(int(N / 2)):
    if peo[i] in f:
        j = f.index(peo[i])
        print(peo[i] + ' ' + m[-j - 1])
    else:
        j = m.index(peo[i])
        print(m[j] + ' ' + f[-j - 1])


反思:
①知识回顾:对列表使用[::-1]使其返回倒置后的列表,而使用同样可以使得列表倒置的reverse()却没有返回值
他人的代码中学习:
②自动格式转换和分类识别存放
在temp = input().split()中,输入"0 Amy"后,得到的temp会自动转化为list类型,提取temp[0],得到“0”;提取temp[1],得到”Amy“

## 2、第6章-3 列表或元组的数字元素求和
我的代码:

```python
a = eval(input())
result = 0
for i in a:
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值