Python学习-day14 编程示例(二)

随机数

import random

randomNum = random.random()
print(f"0.0~1.0的随机数:{randomNum}")

randomNum = random.randint(10,20)
print(f"10~20的随机数:{randomNum}")

list1 = [1,2,4,3,6,7,10]
randomNum = random.choice(list1)
print(f"{list1}随机元素:{randomNum}")

0.0~1.0的随机数:0.20568860757932184
10~20的随机数:14
[1, 2, 4, 3, 6, 7, 10]随机元素:3

变量交换

使用临时变量进行交换操作

a = 10
b = 20
print(f"变量交换前:a = {a}, b = {b}")
tmp = a
a = b
b = tmp
print(f"变更交换后:a = {a}, b = {b}")

变量交换前:a = 10, b = 20
变更交换后:a = 20, b = 10

未使用临时变量进行交换操作

a = 10
b = 20
print(f"变量交换前:a = {a}, b = {b}")
a, b = b, a
print(f"变更交换后:a = {a}, b = {b}")

变量交换前:a = 10, b = 20
变更交换后:a = 20, b = 10

奇偶数判断

num = 11
if num % 2 == 0:
    print("{}是偶数。".format(num))
else:
    print(f"{num}是奇数。")

11是奇数。

判断闰年

闰年(Leap Year)是指能被4整除但不能被100整除的年份,或者能被400整除的年份。

def isLeapYear(year):
    if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
        return True
    
    return False
    
year = 2025
print(f"{year}是闰年吗?{isLeapYear(year)}")

year = 2000
print(f"{year}是闰年吗?{isLeapYear(year)}")

2025是闰年吗?False
2000是闰年吗?True

判断质数

def isPrimeNum(num):
    if num < 2:
        return False
    elif num == 2:
        return True
    else:
        for i in range(2,num):
            if num % i == 0:
                return False
                break
        return True
    
    
num = 11
print(f"{num}是质数吗?{isPrimeNum(num)}")

num = 4
print(f"{num}是质数吗?{isPrimeNum(num)}")

num = 19
print(f"{num}是质数吗?{isPrimeNum(num)}")

11是质数吗?True
4是质数吗?False
19是质数吗?True

阶乘计算

def factorialNum(n):
    if n < 1:
        return -1
    else:
        tmp = 1
        for i in range(1, n + 1):
            tmp *= i
        return tmp
    
    
num = 9
print(f"{num}的阶乘是:{factorialNum(num)}")

9的阶乘是:362880

九九乘法表

for i in range(1,10):
    for j in range(1, i + 1):
        print(f"{i} x {j} = {i * j}\t", end="")
    print("\n")

1 x 1 = 1
2 x 1 = 2 2 x 2 = 4
3 x 1 = 3 3 x 2 = 6 3 x 3 = 9
4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16
5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25
6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36
7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49
8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64
9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 9 x 7 = 63 9 x 8 = 72 9 x 9 = 81

字符字母转ASCII码

a = "a"
A = "A"
print(f"{a}的ASCII码是{ord(a)}\n{A}的ASCII码是{ord(A)}")

a的ASCII码是97
A的ASCII码是65

判断阿姆斯特朗数

def isArmstrongNum(n):
    sumTmp = 0
    tmp = n
    lenN = len(str(n))
    while tmp > 0:
        a = tmp % 10
        sumTmp += a ** lenN
        tmp //= 10
    
    if sumTmp == n:
        return True
    
    return False
    

num = 111
print(f"{num}是不是阿姆斯特朗数?{isArmstrongNum(num)}")
num = 153
print(f"{num}是不是阿姆斯特朗数?{isArmstrongNum(num)}")

111是不是阿姆斯特朗数?False
153是不是阿姆斯特朗数?True

裴波那契数列

def fiBoNum(n):
    if n <= 1:
        return n
    else:
        return fiBoNum(n - 1) + fiBoNum(n - 2)
    

num = 1
print(f"{num}的裴波那契数列是:")
for i in range(num):
    print(f"{i} = {fiBoNum(i)}")

num = 10
print(f"{num}的裴波那契数列是:")
for i in range(num):
    print(f"{i} = {fiBoNum(i)}")

1的裴波那契数列是:
0 = 0
10的裴波那契数列是:
0 = 0
1 = 1
2 = 1
3 = 2
4 = 3
5 = 5
6 = 8
7 = 13
8 = 21
9 = 34

最小公倍数

def lcmNum(n1, n2):
    lcm = max([n1,n2])
    while True:
        if lcm % n1 == 0 and lcm % n2 == 0:
           break
        else:
           lcm += 1
    return lcm
    

n1, n2 = 10,11
print(f"{n1}{n2}的最小公倍数是:{lcmNum(n1,n2)}")

10和11的最小公倍数是:110

最大公约数

def hcfNum(n1, n2):
    hcf = min([n1,n2])
    while True:
        if n1 % hcf == 0 and n2 % hcf == 0:
           break
        else:
           hcf -= 1
    return hcf
    

n1, n2 = 10,150
print(f"{n1}{n2}的最大公约数是:{hcfNum(n1,n2)}")

10和150的最大公约数是:10

计算n个自然数的立方和

1 ^3 + 2 ^3 + … + n ^3 = …

def seriesSum(n):
    sum = 0
    for i in range(1, n + 1):
        sum += i ** 3
    return sum
    

n = 3
print(f"{n}的自然数之和是:{seriesSum(n)}")

3的自然数之和是:36

字符串翻转

str1 = "hello Python"
str2 = str1[::-1]
print(f"翻转前:{str1}\n翻转后:{str2}")

翻转前:hello Python
翻转后:nohtyP olleh

查找字符子串

str1 = "hello Python"
str2 = "on"
print(f"{str2}是否存在于{str1}?\"..in方法..\"{str2 in str1}") # 返回True或False
print(f"{str2}是否存在于{str1}?\"..find方法..\"{str1.find(str2)}") # 返回索引起始位置或-1

on是否存在于hello Python?"…in方法…“True
on是否存在于hello Python?”…find方法…"10

数组翻转

list1 = [1,2,3,4,5,6]
print(f"翻转前:{list1}")
list1.reverse()
print(f"翻转后:{list1}")

翻转前:[1, 2, 3, 4, 5, 6]
翻转后:[6, 5, 4, 3, 2, 1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番薯大佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值