当前位置:   article > 正文

python列表推导式_python求6+66+666+·…+666...666的和。.

python求6+66+666+·…+666...666的和。.

列表推导式是从一个或者多个列表快速简洁地创建列表的一种方法,又被称为列表解析。它可以将循环和条件判断结合,从而避免语法冗长的代码同时提高程序性能。会使用推导式,说明已经达到Python初学者的水平了。使用列表推导式更符合Python的编程风格。

  1. 通过列表推导创建一个整数列表
  2. number_list = [number for number in [1,2,3,4,5]]
  3. print(number_list)
  4. 在第一行中,第一个number变量为列表生成值,也就是说,把循环结果放在列表number_list中。第二个number为循环变量。其中第一个number位置可以为表达式。如下:
  5. number_list = [2*number for number in [1,2,3,4,5]]
  6. print(number_list)
  7. 列表推导把循环放在括号内。这种例子和以前的大不一样,确实更为常见的方式。同样,列表推导式也可以加上if条件:
  8. number_list = [number for number in range(1,8) if number % 2 == 1]
  9. print(number_list)

下面给些例子

  1. 1.求1+1/2+...+1/20之和。
  2. print(sum([1/i for i in range(1,21)]))
  3. 程序输出:
  4. 3.597739657143682
  5. 2.求1-1/2+1/3-1/4+...之前n项和(n>=10
  6. 如何产生这样的列表?
  7. [1,-1/2,1/3,-1/4,...]
  8. 下面列表推导式产生列表:[1,-1/2,1/3,-1/4,1/5]
  9. >>>[1/i if i%2==1 else -1/i for i in range(1,6)]
  10. [1.0,-0.5,0.33333333333333,-0.25,0.2]
  11. 1/i if 1%2==1 else -1/i”是条件表达式,表示奇数项为正,偶数项为负。
  12. 程序代码:
  13. n = int(input())
  14. print(sum([1/i if i%2==1 else -1/i for i in range(1,n+1)]))
  15. 程序输入:
  16. 100
  17. 程序输出:
  18. 0.688172179310195
  19. 3.求1-1/3+1/5-1/7+...-1/47+1/49
  20. 列表推导式的if条件和条件表达式可以同时使用。
  21. 程序代码:
  22. print(sum([1/i if i%4==1 else -1/i for i in range(1,50) if i%2==1 ]))
  23. 程序输出:
  24. 0.7953941713587581
  25. 4. 6是一个幸运数字,求6+66+666+...+6666...666(n个65<=n<=10)的和
  26. 程序代码:
  27. n = int(input())
  28. print(sum([int('6'*i) for i in range(1,n+1)]))
  29. 程序输入:
  30. 7
  31. 程序输出:
  32. 7407402

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/957364
推荐阅读
相关标签
  

闽ICP备14008679号