Python3经典100例(④)

实例16

  • 题目:输出指定格式的日期;

  • 代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/3/5 22:47
# @Author  : cunyu
# @Site    : cunyu1943.github.io
# @File    : sixteen.py
# @Software: PyCharm

import datetime

if __name__=='__main__':
    # 输出当前日期
    print(datetime.date.today())

    # 创建日期对象
    Z_Birth = datetime.date(1994,11,12)
    print(Z_Birth)

    # 指定格式输出
    print(Z_Birth.strftime('%m/%d/%Y'))

    # 日期替换
    Z_Birth = Z_Birth.replace(year=Z_Birth.year+1)
    print(Z_Birth)

    # 日期运算
    Next_Z_Birth = Z_Birth + datetime.timedelta(days=366)
    print(Next_Z_Birth)
  • 结果:
Python3经典100例(④)_第1张图片
image

实例17

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

  • 代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/3/6 21:37
# @Author  : cunyu
# @Site    : cunyu1943.github.io
# @File    : seventeen.py
# @Software: PyCharm

import string

s = input('请输入字符串:\n')
num_letter = 0
num_space = 0
num_digit = 0
num_other = 0

for i in range(len(s)):
    if s[i].isspace():
        num_space += 1
    elif s[i].isdigit():
        num_digit += 1
    elif s[i].isalpha():
        num_letter += 1
    else:
        num_other += 1

print('character: ', num_letter)
print('space: ', num_space)
print('digit: ', num_digit)
print('other: ', num_other)
  • 结果:
Python3经典100例(④)_第2张图片
image

实例18

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

  • 代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/3/6 21:46
# @Author  : cunyu
# @Site    : cunyu1943.github.io
# @File    : eighteen.py
# @Software: PyCharm

num = input('输入重复的数字:\n')
times = int(input('你要重复的次数:\n'))

answer = 0
for i in range(times):
    answer += int(num)
    num += num[0]

print('结果为: ', answer)

  • 结果:
Python3经典100例(④)_第3张图片
image

实例19

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

  • 代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/3/6 21:57
# @Author  : cunyu
# @Site    : cunyu1943.github.io
# @File    : nineteen.py
# @Software: PyCharm


for num in range(2, 1001):
    arr = []
    for i in range(1, num):
        if num % i == 0:
            arr.append(i)
    if sum(arr) == num:
        print(num, arr)
  • 结果:
Python3经典100例(④)_第4张图片
image

实例20

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

  • 代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/3/6 22:10
# @Author  : cunyu
# @Site    : cunyu1943.github.io
# @File    : 20th.py
# @Software: PyCharm

# 初始距离
distance = 100

total = 0

total += distance

# 第10次落地时,经历了9次弹起到落地
for i in range(9):
    distance /= 2
    total += 2 * distance

print('总共经过距离: ', total)
print('第10次反弹距离: ', distance / 2)
  • 结果:
Python3经典100例(④)_第5张图片
image

你可能感兴趣的:(Python3经典100例(④))