文章目录

  • 一、求列表中的最大数和下标
  • 二、删除列表里面的空字符串
  • 三、一个学校,有三个办公室,现在有8位老师等待分配工位,请编写程序完成分配
  • 四、拿字典里面的次数出现的最大值
  • 五、用三个元组表示三门学科的选课学生姓名(一个学生可以同时选多门课程)
    • (1)求选课学生总共有多少人
    • (2)求只选了第一个学科的人的数量和对应的名字
    • (3)求只选了一门学科的学生的数量和对应的名字
    • (4)求只选了两门学科的学生的数量和对应的名字
    • (5)求选了三门学科的学生的数量和对应的名字
  • 六、声明一个列表,在列表种保存6个学生信息
    • 1、统计不及格学生的个数
    • 2、打印不及格学生的名字和对应的成绩
    • 3、统计未成年学生的个数
    • 4、打印手机尾号是8的学生的姓名
    • 5、打印最高分和对应学生的名字
    • 6、删除性别不明的所有学生
    • 7、将列表按学生成绩从大到校排序

一、求列表中的最大数和下标

nums = [3, 1, 9, 8, 4, 7, 5, 0]
# 不调用 直接使用
x = nums[0]  # 假设第0个数最大
for num in nums:  # 遍历整个列表如果列表当中有比第0个数大的数if num > x:    # 假设不成立x = num    # 把假设的值改为发现的比第0个数大的数
print('发现的最大的数是‰d, 他的下标是‰d' % (x, nums.index(x)))# 不用index方法
i = 0
index = 0
while i < len(nums):if nums[i] > x:x = nums[i]  # 找到后给xindex = i    # 记录下来i += 1
print('发现的最大的数是‰d, 他的下标是‰d' % (x, index))

二、删除列表里面的空字符串

words2 = ['hello', '', 'good', 'yes', 'ok', '']
i = 0
while i < len(words2):if words2[i] == '':words2.remove(words2[i])i -= 1   # 删除一个空字符串  下标也要剪掉i += 1
print(words2)

三、一个学校,有三个办公室,现在有8位老师等待分配工位,请编写程序完成分配

teachers = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
rooms = [[], [], []]
for i, room in enumerate(rooms):   # 找房间print('房间%d里面一共有%d个老师,分别是:' % (i, len(room)), end='')for teacher in teachers:    # 找房间里面的人print(teacher, end=' ')print()

四、拿字典里面的次数出现的最大值

chars = ['a', 'c', 'p', 'a', 's', 't', 'a']
# {'a':3, 'c':1, 'p':1, 's':1, 't':1}
# 第一种方法:
char_count = {}
for char in chars:if char in char_count:print('字典里面有这个字符串%s' % char)char_count[char] += 1else:char_count[char] = 1  # 不在里面就是1
print(char_count)# 第二种  拿个数
for char in chars:if char not in char_count:char_count[char] == char_count[char]
print(char_count)

五、用三个元组表示三门学科的选课学生姓名(一个学生可以同时选多门课程)

sing = ('李白', '白居易', '李清照', '杜甫', '小苗', '孟浩然')
dance = ('韩红', '蔡徐坤', '李诞', '苗苗', '李涛', '杜甫', '小苗')
rap = ('小蔡', '蔡徐坤', '杜甫', '小苗', '小涛')

(1)求选课学生总共有多少人

zong = (*sing, *dance, *rap)  # 合并元组
cong = set(zong)  # 去重
print("选课学生总共有:", len(cong))

(2)求只选了第一个学科的人的数量和对应的名字

one_class = []
for x in sing:if x not in dance and rap:one_class.append(x)
print('求只选了第一个学科的人的数量:{}和对应的名字:{}'.format(len(one_class), one_class))

(3)求只选了一门学科的学生的数量和对应的名字

only_one = []
for i in sing:if (i not in dance and i not in rap):only_one.append(i)
for j in dance:if (i not in sing and i not in rap):only_one.append(i)
for i in rap:if (i not in sing and i not in dance):only_one.append(i)
print('只选了一学科的人数为:{},分别是{}'. format(len(only_one),only_one))

(4)求只选了两门学科的学生的数量和对应的名字

only_two =[]
for i in sing:if i in rap and i not in dance:only_two.append(i)elif i in rap and i not in dance:only_two.append(i)
for j in dance:if j in rap and j not in sing:only_two.append(j)
print('只选了两学科的人数为:{},分别是{}'. format(len(only_two),only_two))

(5)求选了三门学科的学生的数量和对应的名字

only_all = []
for i in sing:if i in dance and i in rap:only_all.append(i)
print('选三门学科的人数为:{},分别是{}'.format(len(only_all), only_all))

六、声明一个列表,在列表种保存6个学生信息

students = [{'name': '张三', 'age': 18, 'score': 98, 'tel': '15623755668', 'gender': 'female'},{'name': '李四', 'age': 17, 'score': 95, 'tel': '15623755666', 'gender': 'male'},{'name': '王五', 'age': 21, 'score': 98, 'tel': '15623755678', 'gender': 'male'},{'name': '张飞', 'age': 18, 'score': 58, 'tel': '15623755689', 'gender': 'female'},{'name': 'jack', 'age': 23, 'score': 52, 'tel': '15623753456', 'gender': 'female'},{'name': 'wilson', 'age': 16, 'score': 89, 'tel': '15623753458', 'gender': 'unknown'}
]

1、统计不及格学生的个数

count = 0  # 空瓶
for student in students:if student['score'] < 60:count += 1
print("不及格学生的个数是:%s" % count)

2、打印不及格学生的名字和对应的成绩

count = 0  # 空瓶
for student in students:if student['score'] < 60:count += 1print("{}不及格,分数是{}".format(student['name'], student['score']))

3、统计未成年学生的个数

count = 0  # 空瓶
for student in students:if student['age'] < 18:count += 1
print("未成年的人数是:%s" % count)

4、打印手机尾号是8的学生的姓名

for i in students:if i['tel'][-1] == '8':print(i['name'])

5、打印最高分和对应学生的名字

max_score = students[0]['score']  # 假设第0个学生成绩最高
max_index = 0  # 假设最高分学生的成绩下标为0
for student in students:if student['score'] > max_score:  # 遍历 如果有比最高分还高  那那个数就是最大的max_score = student['score']# max_index = i  # 修改最高分的同时,也需要修改下标
for student in students:if student['score'] == max_score:print('最高分是%s' % student['name'])

6、删除性别不明的所有学生

for i in students[:]:if not i.get('gender'):  students.remove(i)
print(students)

7、将列表按学生成绩从大到校排序

for i in range(len(students)):for j in range(len(students)-1-i):if students[j]['score'] <students[j+1]['score']:students[j],students[j+1]= students[j+1],students[j]
print(students)

python练习(4)相关推荐

  1. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  2. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  3. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

  4. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  5. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

  6. python 位运算与等号_Python 运算符

    和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...

  7. python减小内存占用_如何将Python内存占用缩小20倍?

    当程序执行过程中RAM中有大量对象处于活动状态时,可能会出现内存问题,特别是在对可用内存总量有限制的情况下. 下面概述了一些减小对象大小的方法,这些方法可以显著减少纯Python程序所需的RAM数量. ...

  8. python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...

    本文实例讲述了Python实现对文件进行单词划分并去重排序操作.,具体如下: 文件名:test1.txt 文件内容: But soft what light through yonder window ...

  9. python程序如何执行死刑图片_如何判断对象已死

    已死的对象就是不可能被任何途径使用的对象,有以下几种方法判断一个对象是否已经死了: 引用计数 给对象添加一个引用计数器,每当有一个地方引用他,计算器就加 1:当引用失效时,计数器减 1:任何时刻计数器 ...

  10. Python gRPC 安装

    1. 安装依赖库 sudo pip3 install grpcio sudo pip3 install protobuf sudo pip3 install grpcio_tools 2. 生成对应文 ...

最新文章

  1. SharedPreferences记住用户密码 态判断应用是否首次启动等
  2. Tensorflow2.6更新cuda11.2
  3. maven 父maven_Maven神秘化
  4. springcloud系列三 搭建服务模块
  5. 用进程管理的方法进行自我时间管理
  6. 程序员|刚毕业,我该去小公司还是该去大公司
  7. bupt summer training for 16 #5 ——数据结构
  8. html是超文本标记语言标签,main标签
  9. Linux中删除文件夹和文件的命令
  10. webpack打包优化_Webpack 构建速度优化
  11. PHP 编写接口并在header中进行简单的校验
  12. C语言中static的使用
  13. 基于最小二乘法的人口增长模型拟合
  14. mysql端口establish_PHP/MySQL Dev. Primer (1) Establish Env.
  15. web如何加入视频?video
  16. Oracle Database-PL/SQL
  17. 怎么用计算机算自己的月经周期,【月经周期表】月经周期表计算器_女人月经周期表 - 妈妈网百科...
  18. 使用driver.js实现新(xin)手(shou)导航,并使展示区域无法点击
  19. maven的pom.xml文件中导入c3p0连接池,在运行时报错
  20. 光纤激光器仿真:(5)类噪声脉冲

热门文章

  1. 基于mindwave脑电波进行疲劳检测算法的设计(1)
  2. Mysql 备份工具XtraBackup全量备份
  3. 数据分析处理库——Pandas
  4. 力扣 347. 前 K 个高频元素
  5. 「云原生 | Docker」手把手教你搭建镜像仓库并上传/下载镜像
  6. 免费申请使用IBM Cloud Lite(轻量套餐) 详细教程指南
  7. 苹果iOS7 Beta 2版系统下载,ios7beta2固件下载
  8. 电力英语和计算机平台,电力计算信息平台,the Computing Information Platform of Electric Power,音标,读音,翻译,英文例句,英语词典...
  9. 施工管理在计算机上的应用论文,计算机应用技术在工程项目管理中的应用
  10. 全国计算机等级考试一级练习题,全国计算机等级考试一级练习题