实例16

题目

输出指定格式的日期;

分析

没啥说的,直接调用 datetime 模块即可;

代码

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # @Time : 2019/3/5 22:47
  4. # @Author : cunyu
  5. # @Site : cunyu1943.github.io
  6. # @File : sixteen.py
  7. # @Software: PyCharm
  8. import datetime
  9. if __name__=='__main__':
  10. # 输出当前日期
  11. print(datetime.date.today())
  12. # 创建日期对象
  13. Z_Birth = datetime.date(1994,11,12)
  14. print(Z_Birth)
  15. # 指定格式输出
  16. print(Z_Birth.strftime('%m/%d/%Y'))
  17. # 日期替换
  18. Z_Birth = Z_Birth.replace(year=Z_Birth.year+1)
  19. print(Z_Birth)
  20. # 日期运算
  21. Next_Z_Birth = Z_Birth + datetime.timedelta(days=366)
  22. print(Next_Z_Birth)

结果

Python3 编程实例(16 - 20) - 图1

实例17

题目

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数;

分析

遍历字符串,然后统计其中是否为对应种类即可;

代码

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # @Time : 2019/3/6 21:37
  4. # @Author : cunyu
  5. # @Site : cunyu1943.github.io
  6. # @File : seventeen.py
  7. # @Software: PyCharm
  8. import string
  9. s = input('请输入字符串:\n')
  10. num_letter = 0
  11. num_space = 0
  12. num_digit = 0
  13. num_other = 0
  14. for i in range(len(s)):
  15. if s[i].isspace():
  16. num_space += 1
  17. elif s[i].isdigit():
  18. num_digit += 1
  19. elif s[i].isalpha():
  20. num_letter += 1
  21. else:
  22. num_other += 1
  23. print('character: ', num_letter)
  24. print('space: ', num_space)
  25. print('digit: ', num_digit)
  26. print('other: ', num_other)

结果

Python3 编程实例(16 - 20) - 图2

实例18

题目

求 s=a+aa+aaa+aaaa+aa…a 的值,其中a是一个数字。例如 2+22+222+2222+22222 (此时共有 5 个数相加),几个数相加由键盘控制;

代码

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # @Time : 2019/3/6 21:46
  4. # @Author : cunyu
  5. # @Site : cunyu1943.github.io
  6. # @File : eighteen.py
  7. # @Software: PyCharm
  8. num = input('输入重复的数字:\n')
  9. times = int(input('你要重复的次数:\n'))
  10. answer = 0
  11. for i in range(times):
  12. answer += int(num)
  13. num += num[0]
  14. print('结果为: ', answer)

结果

Python3 编程实例(16 - 20) - 图3

实例19

题目

一个数如果恰好等于它的因子之和,这个数就称为”完数”。例如6=1+2+3.编程找出1000以内的所有完数;

代码

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # @Time : 2019/3/6 21:57
  4. # @Author : cunyu
  5. # @Site : cunyu1943.github.io
  6. # @File : nineteen.py
  7. # @Software: PyCharm
  8. for num in range(2, 1001):
  9. arr = []
  10. for i in range(1, num):
  11. if num % i == 0:
  12. arr.append(i)
  13. if sum(arr) == num:
  14. print(num, arr)

结果

Python3 编程实例(16 - 20) - 图4

实例20

题目

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

代码

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # @Time : 2019/3/6 22:10
  4. # @Author : cunyu
  5. # @Site : cunyu1943.github.io
  6. # @File : 20th.py
  7. # @Software: PyCharm
  8. # 初始距离
  9. distance = 100
  10. total = 0
  11. total += distance
  12. # 第10次落地时,经历了9次弹起到落地
  13. for i in range(9):
  14. distance /= 2
  15. total += 2 * distance
  16. print('总共经过距离: ', total)
  17. print('第10次反弹距离: ', distance / 2)

结果

Python3 编程实例(16 - 20) - 图5