python应用:浅谈如何编程Python3——Python实例

    作者:一只努力学习的程序猿 大神们都不愿意分享技术,只有我们这些半调更新于: 2020-03-24 21:59:20

    大神带你学编程,欢迎选课

    在继续本教程之前,你应该了解一些基本的计算机编程术语。如果你学习过 php,ASP 等编程语言,将有助于你更快的了解 Python 编程
    Python Hello World 实例
    Python 数字求和
    Python 平方根
    Python 二次方程
    Python 计算三角形的面积
    Python 计算圆的面积
    Python 随机数生成
    Python 摄氏温度转华氏温度
    Python 交换变量
    Python if 语句
    Python 判断字符串是否为数字
    Python 判断奇数偶数
    Python 判断闰年
    Python 获取最大值函数
    Python 质数判断
    Python 输出指定范围内的素数
    Python 阶乘实例
    Python 九九乘法表
    Python 斐波那契数列
    Python 阿姆斯特朗数
    Python 十进制转二进制、八进制、十六进制
    Python ASCII码与字符相互转换
    Python 最大公约数算法
    Python 最小公倍数算法
    Python 简单计算器实现
    Python 生成日历
    Python 使用递归斐波那契数列
    Python 文件 IO
    Python 字符串判断
    Python 字符串大小写转换
    Python 计算每个月天数
    Python 获取昨天日期
    Python list 常用操作
    Python 约瑟夫生者死者小游戏
    Python 五人分鱼
    Python 实现秒表功能
    Python 计算 n 个自然数的立方和
    Python 计算数组元素之和
    Python 数组翻转指定个数的元素

    Python Hello World 实例
    以下实例为学习Python的第一个实例,即如何输出"Hello World!":

    # Filename : helloworld.py
    # author by : www.runoob.com

    # 该实例输出 Hello World!
    print('Hello World!')
    执行以上代码输出结果为:

    Hello World!
    Python 数字求和
    以下实例为通过用户输入两个数字,并计算两个数字之和:


    # Filename : test.py
    # author by : www.runoob.com

    # 用户输入数字
    num1 = input('输入第一个数字:')
    num2 = input('输入第二个数字:')

    # 求和
    sum = float(num1) + float(num2)

    # 显示计算结果
    print('数字 {0} 和 {1} 相加结果为: {2}'.format(num1, num2, sum))

    执行以上代码输出结果为:

    输入第一个数字:1.5
    输入第二个数字:2.5
    数字 1.5 和 2.5 相加结果为: 4.0
    Python 平方根
    平方根,又叫二次方根,表示为〔√ ̄〕,如:数学语言为:√ ̄16=4。语言描述为:根号下16=4。

    以下实例为通过用户输入一个数字,并计算这个数字的平方根:


    # Filename : test.py
    # author by : www.runoob.com

    num = float(input('请输入一个数字: '))
    num_sqrt = num ** 0.5
    print(' %0.3f 的平方根为 %0.3f'%(num ,num_sqrt))

    执行以上代码输出结果为:

    $ python test.py
    请输入一个数字: 4
    4.000 的平方根为 2.000
    Python 二次方程
    以下实例为通过用户输入数字,并计算二次方程:


    # 二次方程式 ax**2 + bx + c = 0
    # a、b、c 用户提供,为实数,a ≠ 0

    # 导入 cmath(复杂数学运算) 模块
    import cmath

    a = float(input('输入 a: '))
    b = float(input('输入 b: '))
    c = float(input('输入 c: '))

    # 计算
    d = (b**2) - (4*a*c)

    # 两种求解方式
    sol1 = (-b-cmath.sqrt(d))/(2*a)
    sol2 = (-b+cmath.sqrt(d))/(2*a)

    print('结果为 {0} 和 {1}'.format(sol1,sol2))

    执行以上代码输出结果为:

    $ python test.py
    输入 a: 1
    输入 b: 5
    输入 c: 6
    结果为 (-3+0j) 和 (-2+0j)
    该实例中,我们使用了 cmath (complex math) 模块的 sqrt() 方法 来计算平方根。

    Python 计算三角形的面积

    # Filename : test.py
    # author by : www.runoob.com


    a = float(input('输入三角形第一边长: '))
    b = float(input('输入三角形第二边长: '))
    c = float(input('输入三角形第三边长: '))

    # 计算半周长
    s = (a + b + c) / 2

    # 计算面积
    area = (s*(s-a)*(s-b)*(s-c)) ** 0.5
    print('三角形面积为 %0.2f' %area)

    执行以上代码输出结果为:

    $ python test.py
    输入三角形第一边长: 5
    输入三角形第二边长: 6
    输入三角形第三边长: 7
    三角形面积为 14.70
    Python 计算圆的面积
    圆的面积公式为 :

     

    公式中 r 为圆的半径。


    # 定义一个方法来计算圆的面积
    def findArea(r):
    PI = 3.142
    return PI * (r*r)

    # 调用方法
    print("圆的面积为 %.6f" % findArea(5))

    以上实例输出结果为:

    圆的面积为 78.550000
    Python 随机数生成
    以下实例演示了如何生成一个随机数:



    # Filename : test.py
    # author by : www.runoob.com

    # 生成 0 ~ 9 之间的随机数

    # 导入 random(随机数) 模块
    import random

    print(random.randint(0,9))

    执行以上代码输出结果为:4

    以上实例我们使用了 random 模块的 randint() 函数来生成随机数,你每次执行后都返回不同的数字(0 到 9),该函数的语法为:

    random.randint(a,b)

    函数返回数字 N ,N 为 a 到 b 之间的数字(a <= N <= b),包含 a 和 b。

    Python 摄氏温度转华氏温度
    以下实例演示了如何将摄氏温度转华氏温度:


    # Filename : test.py
    # author by : www.runoob.com

    # 用户输入摄氏温度

    # 接收用户输入
    celsius = float(input('输入摄氏温度: '))

    # 计算华氏温度
    fahrenheit = (celsius * 1.8) + 32
    print('%0.1f 摄氏温度转为华氏温度为 %0.1f ' %(celsius,fahrenheit))

    执行以上代码输出结果为:

    输入摄氏温度: 38
    38.0 摄氏温度转为华氏温度为 100.4
    以上实例中,摄氏温度转华氏温度的公式为 celsius * 1.8 = fahrenheit - 32。所以得到以下式子:

    celsius = (fahrenheit - 32) / 1.8
    Python 交换变量
    以下实例通过用户输入两个变量,并相互交换:


    # Filename : test.py
    # author by : www.runoob.com

    # 用户输入

    x = input('输入 x 值: ')
    y = input('输入 y 值: ')

    # 创建临时变量,并交换
    temp = x
    x = y
    y = temp

    print('交换后 x 的值为: {}'.format(x))
    print('交换后 y 的值为: {}'.format(y))

    执行以上代码输出结果为:

    输入 x 值: 2
    输入 y 值: 3
    交换后 x 的值为: 3
    交换后 y 的值为: 2
    以上实例中,我们创建了临时变量 temp ,并将 x 的值存储在 temp 变量中,接着将 y 值赋给 x,最后将 temp 赋值给 y 变量。

    Python if 语句
    以下实例通过使用 if...elif...else 语句判断数字是正数、负数或零:


    # 用户输入数字

    num = float(input("输入一个数字: "))
    if num > 0:
    print("正数")
    elif num == 0:
    print("零")
    else:
    print("负数")

    执行以上代码输出结果为:

    输入一个数字: 3
    正数
    我们也可以使用内嵌 if 语句来实现:


    # 内嵌 if 语句

    num = float(input("输入一个数字: "))
    if num >= 0:
    if num == 0:
    print("零")
    else:
    print("正数")
    else:
    print("负数")

    执行以上代码输出结果为:

    输入一个数字: 0

    Python 判断字符串是否为数字
    以下实例通过创建自定义函数 is_number() 方法来判断字符串是否为数字:


    # Filename : test.py
    # author by : www.runoob.com

    def is_number(s):
    try:
    float(s)
    return True
    except ValueError:
    pass

    try:
    import unicodedata
    unicodedata.numeric(s)
    return True
    except (TypeError, ValueError):
    pass

    return False

    # 测试字符串和数字
    print(is_number('foo')) # False
    print(is_number('1')) # True
    print(is_number('1.3')) # True
    print(is_number('-1.37')) # True
    print(is_number('1e3')) # True

    # 测试 Unicode
    # 阿拉伯语 5
    print(is_number('٥')) # True
    # 泰语 2
    print(is_number('๒')) # True
    # 中文数字
    print(is_number('四')) # True
    # 版权号
    print(is_number('©')) # False

    我们也可以使用内嵌 if 语句来实现:

    执行以上代码输出结果为:


    False
    True
    True
    True
    True
    True
    True
    True
    False

    Python 判断奇数偶数
    下实例用于判断一个数字是否为奇数或偶数:


    # Python 判断奇数偶数
    # 如果是偶数除于 2 余数为 0
    # 如果余数为 1 则为奇数

    num = int(input("输入一个数字: "))
    if (num % 2) == 0:
    print("{0} 是偶数".format(num))
    else:
    print("{0} 是奇数".format(num))

    我们也可以使用内嵌 if 语句来实现:

    执行以上代码输出结果为:

    输入一个数字: 3
    3 是奇数
    Python 判断闰年
    以下实例用于判断用户输入的年份是否为闰年:


    year = int(input("输入一个年份: "))
    if (year % 4) == 0:
    if (year % 100) == 0:
    if (year % 400) == 0:
    print("{0} 是闰年".format(year)) # 整百年能被400整除的是闰年
    else:
    print("{0} 不是闰年".format(year))
    else:
    print("{0} 是闰年".format(year)) # 非整百年能被4整除的为闰年
    else:
    print("{0} 不是闰年".format(year))

    我们也可以使用内嵌 if 语句来实现:

    执行以上代码输出结果为:

    输入一个年份: 2000
    2000 是闰年

    输入一个年份: 2011
    2011 不是闰年
    Python 获取最大值函数
    以下实例中我们使用max()方法求最大值:


    # 最简单的
    print(max(1, 2))
    print(max('a', 'b'))

    # 也可以对列表和元组使用
    print(max([1,2]))
    print(max((1,2)))

    # 更多实例
    print("80, 100, 1000 最大值为: ", max(80, 100, 1000))
    print("-20, 100, 400最大值为: ", max(-20, 100, 400))
    print("-80, -20, -10最大值为: ", max(-80, -20, -10))
    print("0, 100, -400最大值为:", max(0, 100, -400))

    执行以上代码输出结果为:


    2
    b
    2
    2
    80, 100, 1000 最大值为: 1000
    -20, 100, 400最大值为: 400
    -80, -20, -10最大值为: -10
    0, 100, -400最大值为: 100

    Python 质数判断
    一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的因数。


    # Python 程序用于检测用户输入的数字是否为质数

    # 用户输入数字
    num = int(input("请输入一个数字: "))

    # 质数大于 1
    if num > 1:
    # 查看因子
    for i in range(2,num):
    if (num % i) == 0:
    print(num,"不是质数")
    print(i,"乘于",num//i,"是",num)
    break
    else:
    print(num,"是质数")

    # 如果输入的数字小于或等于 1,不是质数
    else:

    执行以上代码输出结果为:


    $ python3 test.py
    请输入一个数字: 1
    1 不是质数
    $ python3 test.py
    请输入一个数字: 4
    4 不是质数
    2 乘于 2 是 4
    $ python3 test.py
    请输入一个数字: 5
    5 是质数

    Python 输出指定范围内的素数
    素数(prime number)又称质数,有无限个。除了1和它本身以外不再被其他的除数整除。

    以下实例可以输出指定范围内的素数:


    # 输出指定范围内的素数

    # take input from the user
    lower = int(input("输入区间最小值: "))
    upper = int(input("输入区间最大值: "))

    for num in range(lower,upper + 1):
    # 素数大于 1
    if num > 1:
    for i in range(2,num):
    if (num % i) == 0:
    break
    else:
    print(num)

    执行以上程序,输出结果为:


    $ python3 test.py
    输入区间最小值: 1
    输入区间最大值: 100
    2
    3
    5
    7
    11
    13
    17
    19
    23
    29
    31
    37
    41
    43
    47
    53
    59
    61
    67
    71
    73
    79
    83
    89
    97

    Python 阶乘实例
    整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,0的阶乘为1。即:n!=1×2×3×...×n。


    # Filename : test.py
    # author by : www.runoob.com

    # 通过用户输入数字计算阶乘

    # 获取用户输入的数字
    num = int(input("请输入一个数字: "))
    factorial = 1

    # 查看数字是负数,0 或 正数
    if num < 0:
    print("抱歉,负数没有阶乘")
    elif num == 0:
    print("0 的阶乘为 1")
    else:
    for i in range(1,num + 1):
    factorial = factorial*i
    print("%d 的阶乘为 %d" %(num,factorial))

    执行以上代码输出结果为:

    请输入一个数字: 3
    3 的阶乘为 6
    Python 九九乘法表
    以下实例演示了如何实现九九乘法表:



    # Filename : test.py
    # author by : www.runoob.com

    # 九九乘法表
    for i in range(1, 10):
    for j in range(1, i+1):
    print('{}x{}={}\\t'.format(j, i, i*j), end='')
    print()

    执行以上代码输出结果为:


    1x1=1
    1x2=2 2x2=4
    1x3=3 2x3=6 3x3=9
    1x4=4 2x4=8 3x4=12 4x4=16
    1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
    1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
    1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
    1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
    1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

    过指定end参数的值,可以取消在末尾输出回车符,实现不换行。

    Python 斐波那契数列
    斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。

    Python 实现斐波那契数列代码如下:


    # Filename : test.py
    # author by : www.runoob.com

    # Python 斐波那契数列实现

    # 获取用户输入数据
    nterms = int(input("你需要几项?"))

    # 第一和第二项
    n1 = 0
    n2 = 1
    count = 2

    # 判断输入的值是否合法
    if nterms <= 0:
    print("请输入一个正整数。")
    elif nterms == 1:
    print("斐波那契数列:")
    print(n1)
    else:
    print("斐波那契数列:")
    print(n1,",",n2,end=" , ")
    while count < nterms:
    nth = n1 + n2
    print(nth,end=" , ")
    # 更新值
    n1 = n2
    n2 = nth
    count += 1

    执行以上代码输出结果为:

    你需要几项? 10
    斐波那契数列:
    0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 ,

    Python 阿姆斯特朗数
    如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。

    1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。

    以下代码用于检测用户输入的数字是否为阿姆斯特朗数:


    # Python 检测用户输入的数字是否为阿姆斯特朗数

    # 获取用户输入的数字
    num = int(input("请输入一个数字: "))

    # 初始化变量 sum
    sum = 0
    # 指数
    n = len(str(num))

    # 检测
    temp = num
    while temp > 0:
    digit = temp % 10
    sum += digit ** n
    temp //= 10

    # 输出结果
    if num == sum:
    print(num,"是阿姆斯特朗数")
    else:
    print(num,"不是阿姆斯特朗数")

    执行以上代码输出结果为:


    $ python3 test.py
    请输入一个数字: 345
    345 不是阿姆斯特朗数

    $ python3 test.py
    请输入一个数字: 153
    153 是阿姆斯特朗数

    $ python3 test.py
    请输入一个数字: 1634
    1634 是阿姆斯特朗数

    获取指定期间内的阿姆斯特朗数

    # 获取用户输入数字
    lower = int(input("最小值: "))
    upper = int(input("最大值: "))

    for num in range(lower,upper + 1):
    # 初始化 sum
    sum = 0
    # 指数
    n = len(str(num))

    # 检测
    temp = num
    while temp > 0:
    digit = temp % 10
    sum += digit ** n
    temp //= 10

    if num == sum:
    print(num)

    执行以上代码输出结果为:


    最小值: 1
    最大值: 10000
    1
    2
    3
    4
    5
    6
    7
    8
    9
    153
    370
    371
    407
    1634
    8208
    9474

    以上例中我们输出了 1 到 10000 之间的阿姆斯特朗数。

     

    Python 十进制转二进制、八进制、十六进制
    以下代码用于实现十进制转二进制、八进制、十六进制:


    # Filename : test.py
    # author by : www.runoob.com

    # 获取用户输入十进制数
    dec = int(input("输入数字:"))

    print("十进制数为:", dec)
    print("转换为二进制为:", bin(dec))
    print("转换为八进制为:", oct(dec))
    print("转换为十六进制为:", hex(dec))

    执行以上代码输出结果为:


    python3 test.py
    输入数字:5
    十进制数为:5
    转换为二进制为: 0b101
    转换为八进制为: 0o5
    转换为十六进制为: 0x5


    python3 test.py
    输入数字:12
    十进制数为:12
    转换为二进制为: 0b1100
    转换为八进制为: 0o14
    转换为十六进制为: 0xc

    Python ASCII码与字符相互转换

    # 用户输入字符
    c = input("请输入一个字符: ")

    # 用户输入ASCII码,并将输入的数字转为整型
    a = int(input("请输入一个ASCII码: "))


    print( c + " 的ASCII 码为", ord(c))
    print( a , " 对应的字符为", chr(a))

    执行以上代码输出结果为:

    python3 test.py
    请输入一个字符: a
    请输入一个ASCII码: 101
    a 的ASCII 码为 97
    101 对应的字符为 e
    Python 最大公约数算法
    以下代码用于实现最大公约数算法:


    # 定义一个函数
    def hcf(x, y):
    """该函数返回两个数的最大公约数"""

    # 获取最小值
    if x > y:
    smaller = y
    else:
    smaller = x

    for i in range(1,smaller + 1):
    if((x % i == 0) and (y % i == 0)):
    hcf = i

    return hcf


    # 用户输入两个数字
    num1 = int(input("输入第一个数字: "))
    num2 = int(input("输入第二个数字: "))

    print( num1,"和", num2,"的最大公约数为", hcf(num1, num2))

    执行以上代码输出结果为:

    输入第一个数字: 54
    输入第二个数字: 24
    54 和 24 的最大公约数为 6
    Python 最小公倍数算法
    以下代码用于实现最小公倍数算法:


    # 定义函数
    def lcm(x, y):

    # 获取最大的数
    if x > y:
    greater = x
    else:
    greater = y

    while(True):
    if((greater % x == 0) and (greater % y == 0)):
    lcm = greater
    break
    greater += 1

    return lcm


    # 获取用户输入
    num1 = int(input("输入第一个数字: "))
    num2 = int(input("输入第二个数字: "))

    print( num1,"和", num2,"的最小公倍数为", lcm(num1, num2))

    执行以上代码输出结果为:

    输入第一个数字: 54
    输入第二个数字: 24
    54 和 24 的最小公倍数为 216
    Python 简单计算器实现
    以下代码用于实现简单计算器实现,包括两个数基本的加减乘除运输:


    # 定义函数
    def add(x, y):
    """相加"""

    return x + y

    def subtract(x, y):
    """相减"""

    return x - y

    def multiply(x, y):
    """相乘"""

    return x * y

    def divide(x, y):
    """相除"""

    return x / y

    # 用户输入
    print("选择运算:")
    print("1、相加")
    print("2、相减")
    print("3、相乘")
    print("4、相除")

    choice = input("输入你的选择(1/2/3/4):")

    num1 = int(input("输入第一个数字: "))
    num2 = int(input("输入第二个数字: "))

    if choice == '1':
    print(num1,"+",num2,"=", add(num1,num2))

    elif choice == '2':
    print(num1,"-",num2,"=", subtract(num1,num2))

    elif choice == '3':
    print(num1,"*",num2,"=", multiply(num1,num2))

    elif choice == '4':
    print(num1,"/",num2,"=", divide(num1,num2))
    else:
    print("非法输入")

    执行以上代码输出结果为:


    选择运算:
    1、相加
    2、相减
    3、相乘
    4、相除
    输入你的选择(1/2/3/4):2
    输入第一个数字: 5
    输入第二个数字: 2
    5 - 2 = 3

    Python 生成日历
    以下代码用于生成指定日期的日历:


    # 引入日历模块
    import calendar

    # 输入指定年月
    yy = int(input("输入年份: "))
    mm = int(input("输入月份: "))

    # 显示日历
    print(calendar.month(yy,mm))


    输入年份: 2015
    输入月份: 6
    June 2015
    Mo Tu We Th Fr Sa Su
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30

    Python 使用递归斐波那契数列
    以下代码使用递归的方式来生成斐波那契数列:


    def recur_fibo(n):
    """递归函数
    输出斐波那契数列"""
    if n <= 1:
    return n
    else:
    return(recur_fibo(n-1) + recur_fibo(n-2))


    # 获取用户输入
    nterms = int(input("您要输出几项? "))

    # 检查输入的数字是否正确
    if nterms <= 0:
    print("输入正数")
    else:
    print("斐波那契数列:")
    for i in range(nterms):
    print(recur_fibo(i))

    执行以上代码输出结果为:


    您要输出几项? 10
    斐波那契数列:
    0
    1
    1
    2
    3
    5
    8
    13
    21
    34

    Python 文件 IO
    以下代码演示了Python基本的文件操作,包括 open,read,write:


    # 写文件
    with open("test.txt", "wt") as out_file:
    out_file.write("该文本会写入到文件中\\n看到我了吧!")

    # Read a file
    with open("test.txt", "rt") as in_file:
    text = in_file.read()

    print(text)

    执行以上代码输出结果为:

    该文本会写入到文件中
    看到我了吧!
    Python 字符串判断
    以下代码演示了Python字符串的判断:


    # 测试实例一
    print("测试实例一")
    str = "runoob.com"
    print(str.isalnum()) # 判断所有字符都是数字或者字母
    print(str.isalpha()) # 判断所有字符都是字母
    print(str.isdigit()) # 判断所有字符都是数字
    print(str.islower()) # 判断所有字符都是小写
    print(str.isupper()) # 判断所有字符都是大写
    print(str.istitle()) # 判断所有单词都是首字母大写,像标题
    print(str.isspace()) # 判断所有字符都是空白字符、\\t、\\n、\\r

    print("------------------------")

    # 测试实例二
    print("测试实例二")
    str = "runoob"
    print(str.isalnum())
    print(str.isalpha())
    print(str.isdigit())
    print(str.islower())
    print(str.isupper())
    print(str.istitle())
    print(str.isspace())

    执行以上代码输出结果为:


    测试实例一
    False
    False
    False
    True
    False
    False
    False
    ------------------------
    测试实例二
    True
    True
    False
    True
    False
    False

    Python 字符串大小写转换
    以下代码演示了如何将字符串转换为大写字母,或者将字符串转为小写字母等:

    str = "www.runoob.com"
    print(str.upper()) # 把所有字符中的小写字母转换成大写字母
    print(str.lower()) # 把所有字符中的大写字母转换成小写字母
    print(str.capitalize()) # 把第一个字母转化为大写字母,其余小写
    print(str.title()) # 把每个单词的第一个字母转化为大写,其余小写
    执行以上代码输出结果为:

    WWW.RUNOOB.COM
    www.runoob.com
    Www.runoob.com
    Www.Runoob.Com
    Python 计算每个月天数
    以下代码通过导入 calendar 模块来计算每个月的天数:


    import calendar
    monthRange = calendar.monthrange(2016,9)
    print(monthRange)
    执行以上代码输出结果为:

    (3, 30)
    输出的是一个元组,第一个元素是所查月份的第一天对应的是星期几(0-6),第二个元素是这个月的天数。以上实例输出的意思为 2016 年 9 月份的第一天是星期四,该月总共有 30 天。

    Python 获取昨天日期
    以下代码通过导入 datetime 模块来获取昨天的日期:


    # 引入 datetime 模块
    import datetime
    def getYesterday():
    today=datetime.date.today()
    oneday=datetime.timedelta(days=1)
    yesterday=today-oneday
    return yesterday

    # 输出
    print(getYesterday())

    执行以上代码输出结果为:

    2015-06-10
    以上实例输出的意思为昨天的日期是 2015 年 6 月 10 日。

    Python 约瑟夫生者死者小游戏
    30 个人在一条船上,超载,需要 15 人下船。

    于是人们排成一队,排队的位置即为他们的编号。

    报数,从 1 开始,数到 9 的人下船。

    如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?


    people={}
    for x in range(1,31):
    people[x]=1
    # print(people)
    check=0
    i=1
    j=0
    while i<=31:
    if i == 31:
    i=1
    elif j == 15:
    break
    else:
    if people[i] == 0:
    i+=1
    continue
    else:
    check+=1
    if check == 9:
    people[i]=0
    check = 0
    print("{}号下船了".format(i))
    j+=1
    else:
    i+=1
    continue

    执行以上实例,输出结果为:


    9号下船了
    18号下船了
    27号下船了
    6号下船了
    16号下船了
    26号下船了
    7号下船了
    19号下船了
    30号下船了
    12号下船了
    24号下船了
    8号下船了
    22号下船了
    5号下船了
    23号下船了

    Python 五人分鱼
    A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。

    日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。

    B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。

    C、D、E依次醒来,也按同样的方法拿鱼。

    问他们台伙至少捕了多少条鱼?


    def main():
    fish = 1
    while True:
    total, enough = fish, True
    for _ in range(5):
    if (total - 1) % 5 == 0:
    total = (total - 1) // 5 * 4
    else:
    enough = False
    break
    if enough:
    print(f'总共有{fish}条鱼')
    break
    fish += 1


    if __name__ == '__main__':
    main()

    运行结果:

    总共有3121条鱼
    Python 实现秒表功能
    以下实例使用 time 模块来实现秒表功能:


    import time

    print('按下回车开始计时,按下 Ctrl + C 停止计时。')
    while True:

    input("") # 如果是 python 2.x 版本请使用 raw_input()
    starttime = time.time()
    print('开始')
    try:
    while True:
    print('计时: ', round(time.time() - starttime, 0), '秒', end="\\r")
    time.sleep(1)
    except KeyboardInterrupt:
    print('结束')
    endtime = time.time()
    print('总共的时间为:', round(endtime - starttime, 2),'secs')
    break

    测试结果为:


    按下回车开始计时,按下 Ctrl + C 停止计时。

    开始
    计时: 3.0 秒
    计时: 5.0 秒
    ^C结束 6.0 秒
    总共的时间为: 6.69 secs

    Python 计算 n 个自然数的立方和
    计算公式 13 + 23 + 33 + 43 + …….+ n3

    实现要求:

    输入 : n = 5

    输出 : 225

    公式 : 13 + 23 + 33 + 43 + 53 = 225

     

    输入 : n = 7

    输入 : 784

    公式 : 13 + 23 + 33 + 43 + 53 + 63 + 73 = 784


    # 定义立方和的函数
    def sumOfSeries(n):
    sum = 0
    for i in range(1, n+1):
    sum +=i*i*i

    return sum


    # 调用函数
    n = 5
    print(sumOfSeries(n))

    以上实例输出结果为:

    225
    Python 计算数组元素之和
    定义一个整型数组,并计算元素之和。

    实现要求:

    输入 : arr[] = {1, 2, 3}

    输出 : 6

    计算: 1 + 2 + 3 = 6


    # 定义函数,arr 为数组,n 为数组长度,可作为备用参数,这里没有用到
    def _sum(arr,n):

    # 使用内置的 sum 函数计算
    return(sum(arr))

    # 调用函数
    arr=[]
    # 数组元素
    arr = [12, 3, 4, 15]

    # 计算数组元素的长度
    n = len(arr)

    ans = _sum(arr,n)

    # 输出结果
    print ('数组元素之和为',ans)

    以上实例输出结果为:

    数组元素之和为 34
    Python 数组翻转指定个数的元素
    定义一个整型数组,并将指定个数的元素翻转到数组的尾部。

    例如:(ar[], d, n) 将长度为 n 的 数组 arr 的前面 d 个元素翻转到数组尾部。

    以下演示了将数组的前面两个元素放到数组后面。

    原始数组:

     

    翻转后:

     


    def leftRotate(arr, d, n):
    for i in range(d):
    leftRotatebyOne(arr, n)
    def leftRotatebyOne(arr, n):
    temp = arr[0]
    for i in range(n-1):
    arr[i] = arr[i+1]
    arr[n-1] = temp


    def printArray(arr,size):
    for i in range(size):
    print ("%d"% arr[i],end=" ")

    arr = [1, 2, 3, 4, 5, 6, 7]
    leftRotate(arr, 2, 7)
    printArray(arr, 7)

    以上实例输出结果为:

    3 4 5 6 7 1 2
    Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。

    Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。

    像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。

    官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。

    Python 2.7 被确定为最后一个 Python 2.x 版本。

课课家教育

未登录