基础巩固

  1. 分别使用两种方法对列表去重

    name_list = ['张三', '李四', '王五', '李四', '王五', '王五', '张三']
    # 方法一:
    names = []
    for i in name_list:if i not in names:names.append(i)
    print(names)
    # 方法二:
    index_ = 0
    while index_ < len(name_list):if name_list.count(name_list[index_]) > 1:del name_list[index_]else:index_ += 1
    print(name_list)
    # 方法三:
    name_list = ['张三', '李四', '王五', '李四', '王五', '王五', '张三']
    for i in range(len(name_list)-1,-1,-1):if name_list.count(name_list[i]) > 1 :del name_list[i]
    print(name_list)
    
  2. 自己写代码实现类似于index方法的功能

    name_list = ['张三', '李四', '王五', '李四', '王五', '王五', '张三']
    # 查找第一个张三
    print(name_list.index('张三'))
    # 查找第二个张三
    # 方法一:利用index的指定范围求
    print(name_list.index('张三',name_list.index('张三')+1))
    # 方法二:  del 可以删除指定范围
    name_list = ['张三', '李四', '王五', '李四', '王五', '王五', '张三']
    first = name_list.index('张三')
    del name_list[0:name_list.index('张三')+1]
    name_list1 = name_list
    print(name_list.index('张三')+first+1)
    # 方法三
    name_list = ['张三', '李四', '王五', '李四', '王五', '王五', '张三']
    name_list1 = name_list[name_list.index('张三')+1:]
    print(name_list1.index('张三')+name_list.index('张三')+1)numList = [1,2,3,4,5,1,2,3]
    # 需要查找的元素
    num = 1
    for i in range(len(numList)):if numList[i] == num:print(f'要查找的{num}的下标为{i}')break
    # 指定位置查找
    numList = [1,2,3,4,5,1,2,3]
    num = 1
    # index_控制开始查找的位置
    index_ = 1
    for i in range(len(numList[index_:])):if numList[index_:][i] == num:print(f'要查找的{num}的下标为{i+index_}')break
    
  3. 自己写代码实现类似于reverse方法的功能

    nums = [1, 2, 3, 1, 4, 2, 1, 3, 7, 3, 3]
    nums.reverse()
    print(nums)print(nums[::-1])
    
  4. 自己写代码实现类似于count方法的功能

    nums = [1, 2, 3, 1, 4, 2, 1, 3, 7, 3, 3]
    count_ = 0
    symbol = 3
    for i in nums:if i == symbol:count_ += 1
    print(f'{symbol}出现了{count_}次')
    
  5. 输入三条边长,如果能构成三角形就计算周长和面积

    a = float(input('请输入一条边长:'))
    b = float(input('请输入一条边长:'))
    c = float(input('请输入一条边长:'))
    if a + b > c and b + c > a and a + c > b:permiter = a + b + cprint(f'这个三角形的周长为{permiter}')area = (permiter * (permiter - a) * (permiter - b) * (permiter - c)) ** 0.5print(f'这个三角形的面积为{area}')
    else:print('这三条边不能组成三角形')
    
  6. 上述成绩列表为通过random模块结合列表推导式随机生成的5名同学的数学、语文、英语三科成绩,请分别求出每科的平均成绩。

   """import randomscore = [[random.randint(0, 100) for _ in range(3)] for _ in range(5)]score.insert(0, ['数学', '语文', '英语'])print(score)"""score = [['数学', '语文', '英语'], [46, 53, 20], [93, 99, 18], [21, 25, 9], [74, 43, 79], [87, 66, 13]]
Math = 0
Chinese = 0
English = 0
num = len(score[1:])
for i in range(1,len(score)-1):Math += score[i][score[0].index('数学')]Chinese += score[i][score[0].index('语文')]English += score[i][score[0].index('英语')]
print(Math/num,Chinese/num,English/num)length = len(score[1:])
for j in range(len(score[0])):# 求每个学课的总分sum = 0# print(score[0][j])for i in range(1,length+1):# print(score[i][j])sum += score[i][j]sum / lengthprint(f'{score[0][j]}的平均分是{sum / length}')

数学思维转换

  1. 五人分鱼。A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。 B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 C、D、E依次醒来,也按同样的方法拿鱼。问他们至少捕了多少条鱼?

    fish = 1
    while True:total = fishfor _ in range(5):if (total-1) % 5 == 0:total = (total-1) // 5 * 4else:fish += 1breakelse:print(f'总鱼数是{fish}')break
    
  2. 判断一个数字是否是丑数(丑数定义详情见百度)

    num = int(input('一个数字:'))
    while num % 2 == 0:num /= 2
    while num % 3 == 0:num /= 3
    while num % 5 == 0:num /= 5
    if num == 1:print('True')
    else:print('False')num = 14
    numCopy = num
    while num > 0 and type(num) == int:if num % 2 == 0:num //= 2elif num % 3 == 0:num //= 3elif num % 5 == 0:num //= 5elif num == 1:print(f'{numCopy}是丑数')breakelse:print(f'{numCopy}不是丑数')break
    else:print('输入错误')
    
  3. 英制单位英寸和公制单位厘米互换。如果输入的是厘米就转为英寸,反之转换为厘米。

    注意:厘米 = 英寸 * 2.54

    num = float(input('一个数字:'))
    unit = input('单位:')
    if unit == '厘米' or unit == 'cm':num1 = num/2.54print(f"{num}{unit}={num1:.2f}英寸")
    elif unit == '英寸' or unit == 'inch':num2 = num * 2.54print(f"{num}{unit}=%.2f厘米" % num2)
    else:print('输入错误')
    

005:列表、循环、分支练习题相关推荐

  1. 微课|中学生可以这样学Python(例6.2):列表循环左移位

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第6章  函数 6.6  精彩例题分析与解答 例6.2  列表循环左移位 京东购买链接:https ...

  2. 蜗牛学院 第二天 js循环和练习题

    第二天 js循环和练习题 输入:window.prompt("请输入用户名:"); 输出:window.alert("输出的内容"):以弹出框的形式输出. do ...

  3. Python坑:bool是int的子类、列表循环中的变量泄露、lambda在闭包中会保存局部变量、重用全局变量

    bool是int的子类 a = True print isinstance(a, int) print True == 1 print False == 0 运行结果: True True True ...

  4. 循环结构作业c语言,c语言循环结构练习题带答案

    c语言循环结构练习题带答案 第5章 循环结构程序设计 5.1 基本知识点 Øwhile语句的使用格式和注意事项 Ødo-while语句的使用格式和注意事项 Øfor语句的使用格式和注意事项 Øbrea ...

  5. 循环结构作业c语言,C语言循环结构练习题带答案(最新整理)

    <C语言循环结构练习题带答案(最新整理)>由会员分享,可在线阅读,更多相关<C语言循环结构练习题带答案(最新整理)(10页珍藏版)>请在人人文库网上搜索. 1.第 5 章循环结 ...

  6. Linux Shell脚本多循环语句练习题

    Linux Shell脚本多循环语句练习题 99乘法表 矩形 正直角三角形 反直角三角形 倒直角三角形 等腰三角形 倒等腰三角形 菱形 平行四边形 直角梯形 等腰梯形 99乘法表 #!/bin/bas ...

  7. c语言循环与数组训练题,C语言循环数组练习题解读.doc

    循环数组练习题 一.选择题 1.for(i=0;i<10;i++); 结束后, i 的值是: B A9B10C11D12 2.下面程序的循环次数是:D int k=0; while(k<1 ...

  8. php文章列表样式,PHPCMS V9 文章列表循环样式自定义方法

    在此,再次分享Whidy的文章"phpcms文章列表循环不同样式制作方法",下面CMSYOU来与大家具体分享,原地址为http://whidy.net/phpcms-list-wi ...

  9. 【实用】JavaScript中Video使用详解过程(多视频列表循环播放)

    做过一个项目里有用到插入多个视频类似列表循环播放的,视频信息是从后台数据库传入的 核心JS代码片段 <script type="text/javascript">var ...

  10. c语言break习题,C语言循环结构练习题.doc

    C语言循环结构练习题C语言循环结构练习题 第5章 循环结构程序设计 5.1 基本知识点 (while语句的使用格式和注意事项 (do-while语句的使用格式和注意事项 (for语句的使用格式和注意事 ...

最新文章

  1. python简单代码加法-CPython 源码中整数加法的实现
  2. 邵阳学院学校云认证码_湖南所有五年制大专学校
  3. 如何访问ASP.Net网站bin目录内的文件
  4. 浅拷贝+引用计数--写时拷贝---模拟实现string容器
  5. 缺失值填充1——缺失值查看、确定值填充、参考值填充
  6. Android 再爆新漏洞,9.0 以下所有手机全部中招!
  7. 程序员如何避免身体被掏空?
  8. springboot无法加载oracle驱动终极解决
  9. linux系统在线搭建禅道
  10. Algorithms 学习笔记——1.1
  11. JAVA NIO介绍及使用
  12. 页面适配之pt、px、em、rem用法和特点
  13. SAP 之定义工厂(Plant)
  14. 文法俱乐部 第三章 动词时态
  15. KBEngine warring项目源码阅读(三) 实体文件与Account处理
  16. Oracle中joint,什么是关节中心化(Joint centration)?
  17. 【服务器数据恢复】XFS文件系统分区丢失怎么恢复数据?
  18. [Android][设置最小(大)宽高]
  19. 辞旧迎新,2013年年终感言
  20. 城市信息学其三-智能地理可实现个性化和可持续的未来城市交通

热门文章

  1. python什么字体好看_七个不一样的Python代码写法,让你写出一手漂亮的代码
  2. 查看linux版本32还是64位,查看linux系统版本是32位的还是64位的
  3. c++怎么判断系统是64位还是32位
  4. 学校校车运营各项安全管理制度_学校校车安全管理制度.doc
  5. JavaScript打造很酷的图片放大效果实例代码
  6. oracle漏洞pdf,Oracle DBA手记 4 数据安全警示录 pdf完整扫描版版
  7. html5 上标,HTML5 Canvas +下标和上标
  8. 一次 Young GC 的优化实践(FinalReference 相关)
  9. 解决safari浏览器拦截window.open
  10. 一眼看清高科技,深度解析人工智能技术脉络