python小程序一

1.Python 数字求和

1、解释说明:
Python 数字求和是指将多个数字相加得到它们的总和。在 Python 中,可以使用加号(+)运算符来实现数字求和。

2、使用示例:
以下是一个简单的示例,演示了如何使用 Python 进行数字求和:

# 定义一个包含多个数字的列表
numbers = [1, 2, 3, 4, 5]

# 使用内置函数 sum() 对列表中的数字进行求和
total = sum(numbers)

# 打印结果
print("数字求和的结果为:", total)

输出结果为:

数字求和的结果为: 15

在上面的示例中,我们首先定义了一个包含多个数字的列表 numbers。然后,我们使用内置函数 sum() 对该列表中的数字进行求和,并将结果存储在变量 total 中。最后,我们使用 print() 函数打印出求和的结果。

3、注意事项:

  • 如果列表中的元素不是数字类型,例如字符串或布尔值,那么在进行数字求和时会引发 TypeError。因此,确保列表中只包含数字类型的元素。
  • 如果列表为空,即不包含任何元素,那么使用 sum() 函数进行求和时会返回 0。

2.Python 平方根

1、解释说明:
Python中的平方根可以使用math库中的sqrt()函数来计算。sqrt()函数接受一个数字作为参数,并返回该数字的平方根。如果参数是一个负数,则会抛出ValueError异常。

2、使用示例:

import math

# 计算9的平方根
result = math.sqrt(9)
print(result)  # 输出3.0

# 计算-1的平方根(会抛出ValueError异常)
try:
    result = math.sqrt(-1)
    print(result)
except ValueError:
    print("无法计算负数的平方根")

3、注意事项:

  • 如果要计算一个非整数的平方根,可以使用math库中的ceil()和floor()函数来向上或向下取整。例如,math.ceil(math.sqrt(9))将返回3,math.floor(math.sqrt(9))将返回2。
  • 如果参数是一个负数,math.sqrt()函数会抛出ValueError异常。为了避免这种情况,可以使用try-except语句来捕获异常并进行适当的处理。

3.Python 二次方程

1、解释说明:
Python中的二次方程是指形如ax^2 + bx + c = 0的方程,其中a、b、c为常数,且a≠0。二次方程的解可以通过求根公式或者使用Python内置的math库中的sqrt()和pow()函数来计算。

2、使用示例:

import math

def quadratic_formula(a, b, c):
    delta = b**2 - 4*a*c
    if delta < 0:
        return None
    elif delta == 0:
        x = -b / (2*a)
        return x
    else:
        x1 = (-b + math.sqrt(delta)) / (2*a)
        x2 = (-b - math.sqrt(delta)) / (2*a)
        return x1, x2

a = 1
b = -3
c = 2
result = quadratic_formula(a, b, c)
print("二次方程的解为:", result)

3、注意事项:

  • 在使用求根公式计算二次方程的解时,需要先判断判别式delta的值,以确定方程的解的情况。如果delta小于0,则方程无实数解;如果delta等于0,则方程有一个实数解;如果delta大于0,则方程有两个不相等的实数解。
  • 在计算二次方程的解时,需要注意对负数开方的处理。可以使用math库中的sqrt()函数来计算平方根,确保结果为正数。

4.Python 计算三角形的面积

1、解释说明:
在Python中,我们可以使用海伦公式来计算三角形的面积。海伦公式是根据三角形的三边长a、b、c来计算其面积的。首先,我们需要计算半周长s(s=(a+b+c)/2),然后根据海伦公式计算面积area(area=√[s(s-a)(s-b)(s-c)])。

2、使用示例:

import math

def triangle_area(a, b, c):
    # 计算半周长
    s = (a + b + c) / 2
    # 计算面积
    area = math.sqrt(s * (s - a) * (s - b) * (s - c))
    return area

# 测试
a = 3
b = 4
c = 5
print("三角形的面积为:", triangle_area(a, b, c))

3、注意事项:

  • 确保输入的三边长满足三角形的条件,即任意两边之和大于第三边。
  • 使用math库中的sqrt函数计算平方根。

5.Python 计算圆的面积

1、解释说明:
在Python中,我们可以使用math模块中的pi常量来计算圆的面积。圆的面积计算公式是πr²,其中r是圆的半径。

2、使用示例:

import math

def calculate_circle_area(radius):
    return math.pi * radius ** 2

# 测试
print(calculate_circle_area(5))  # 输出:78.53981633974483

在这个示例中,我们首先导入了math模块,然后定义了一个函数calculate_circle_area,这个函数接受一个参数radius(半径),然后返回这个半径对应的圆的面积。最后,我们测试了这个函数,输入半径为5,输出的结果是78.53981633974483。

3、注意事项:

  • 在使用math模块的pi常量时,不需要加引号或者括号。
  • 计算圆的面积时,半径应该是一个正数。如果输入的半径是负数或者0,那么计算出的面积将是0或者NaN。

6.Python 随机数生成

1、解释说明:
Python中的随机数生成主要依赖于random模块。random模块提供了各种方法来生成随机数,包括整数、浮点数以及从序列中随机选择元素等。以下是一些常用的随机数生成方法:

  • random.randint(a, b): 生成一个指定范围内的整数,范围是[a, b],包括a和b。
  • random.random(): 生成一个0到1之间的随机浮点数。
  • random.uniform(a, b): 生成一个指定范围内的浮点数,范围是[a, b],包括a和b。
  • random.choice(seq): 从序列(如列表、元组等)中随机选择一个元素。
  • random.shuffle(seq): 将序列中的元素随机打乱。

2、使用示例:

import random

# 生成一个1到10之间的随机整数
random_integer = random.randint(1, 10)
print("随机整数:", random_integer)

# 生成一个0到1之间的随机浮点数
random_float = random.random()
print("随机浮点数:", random_float)

# 生成一个1到10之间的随机浮点数
random_uniform = random.uniform(1, 10)
print("随机浮点数(指定范围):", random_uniform)

# 从列表中随机选择一个元素
my_list = [1, 2, 3, 4, 5]
random_choice = random.choice(my_list)
print("随机选择的元素:", random_choice)

# 将列表中的元素随机打乱
random.shuffle(my_list)
print("打乱后的列表:", my_list)

3、注意事项:

  • random模块的函数通常不需要导入,直接使用即可。但为了提高代码的可读性,建议在文件开头导入random模块。
  • random模块生成的随机数是伪随机数,即它们是由确定性的算法生成的,看起来像是随机的。如果你需要生成高度安全的随机数,可以使用secrets模块。

7.Python 摄氏温度转华氏温度

1、解释说明:
Python中摄氏温度转华氏温度的实现可以通过定义一个函数来完成。该函数接收一个摄氏温度作为参数,然后使用公式F = C * 9/5 + 32来计算对应的华氏温度,并将结果返回。

2、使用示例:

def celsius_to_fahrenheit(celsius):
    fahrenheit = celsius * 9/5 + 32
    return fahrenheit

# 示例用法
celsius = 25
fahrenheit = celsius_to_fahrenheit(celsius)
print(f"{celsius}摄氏度等于{fahrenheit}华氏度")

3、注意事项:

  • 在计算华氏温度时,需要注意浮点数的精度问题,可以使用round()函数对结果进行四舍五入。
  • 输入的摄氏温度应该是一个数字类型,否则会导致计算错误。可以使用isinstance()函数来检查输入的类型。

8.Python 交换变量

1、解释说明:
在Python中,交换变量的值非常简单,不需要像其他编程语言那样使用临时变量或者额外的数据结构。Python提供了一种简洁的方法来交换两个变量的值,即使用temp = a, a = b, b = temp这样的语句。这种方法被称为“元组拆包”。

2、使用示例:

a = 10
b = 20
print("交换前:a =", a, "b =", b)

# 使用元组拆包交换变量值
a, b = b, a
print("交换后:a =", a, "b =", b)

输出结果:

交换前:a = 10 b = 20
交换后:a = 20 b = 10

3、注意事项:

  • 这种方法只适用于基本数据类型(如整数、浮点数、字符串等),不适用于复杂的数据结构(如列表、字典等)。
  • 如果需要交换多个变量的值,可以使用相同的方法,只需将多个变量放在一个元组中即可。例如:x, y, z = y, z, x

9.Python if 语句

1、解释说明:
Python中的if语句是一种条件控制结构,用于根据给定的条件执行不同的代码块。它的基本语法如下:

if 条件表达式:
    # 如果条件为真,执行这里的代码块
else:
    # 如果条件为假,执行这里的代码块

2、使用示例:
下面是一个简单的示例,演示了如何使用if语句来检查一个数字是否大于10:

num = 15

if num > 10:
    print("数字大于10")
else:
    print("数字小于等于10")

在这个示例中,我们首先定义了一个变量num并赋值为15。然后,我们使用if语句来检查num是否大于10。如果条件为真,将打印"数字大于10";否则,将打印"数字小于等于10"。

3、注意事项:

  • 在if语句后面需要使用冒号(:)来表示代码块的开始。
  • 可以使用elif关键字来添加多个条件,以实现更复杂的逻辑判断。例如:
num = 7

if num > 10:
    print("数字大于10")
elif num == 10:
    print("数字等于10")
else:
    print("数字小于10")

在这个示例中,我们使用了elif关键字来检查num是否等于10。如果num大于10,将打印"数字大于10";如果num等于10,将打印"数字等于10";否则,将打印"数字小于10"。

  • 可以使用else关键字来指定当所有条件都不满足时要执行的代码块。这是可选的,但在某些情况下非常有用。

10.Python 判断字符串是否为数字

1、解释说明:
在Python中,我们可以使用内置的isdigit()方法来判断一个字符串是否只包含数字。isdigit()方法会检查字符串中的所有字符是否都是数字,如果是,则返回True,否则返回False。

2、使用示例:

# 示例1:判断字符串是否为数字
str1 = "12345"
print(str1.isdigit())  # 输出:True

str2 = "123a45"
print(str2.isdigit())  # 输出:False

# 示例2:判断空字符串是否为数字
str3 = ""
print(str3.isdigit())  # 输出:False

3、注意事项:

  • isdigit()方法只能判断字符串中的字符是否都是数字,不能判断字符串是否只包含数字和一些特殊符号(如正负号)。如果需要判断字符串是否只包含数字和一些特殊符号,可以使用正则表达式。
  • 如果字符串中包含非数字字符,isdigit()方法会抛出ValueError异常。因此,在使用isdigit()方法时,建议先判断字符串是否为空或者长度为0。

11.Python 判断奇数偶数

1、解释说明:
在Python中,判断一个数是奇数还是偶数非常简单。我们可以通过使用模运算符(%)来实现这个功能。如果一个数除以2的余数为0,那么这个数就是偶数;如果余数为1,那么这个数就是奇数。

2、使用示例:
以下是一个简单的示例,演示了如何使用Python判断一个数是奇数还是偶数:

# 输入一个整数
num = int(input("请输入一个整数: "))

# 判断奇偶性并输出结果
if num % 2 == 0:
    print("这是一个偶数")
else:
    print("这是一个奇数")

在这个示例中,我们首先通过input()函数获取用户输入的整数,并将其转换为整数类型。然后,我们使用模运算符%来判断该整数除以2的余数。如果余数为0,则打印"这是一个偶数";否则,打印"这是一个奇数"。

3、注意事项:

  • 在使用模运算符时,需要注意被除数和除数的数据类型。确保它们都是整数,否则会引发TypeError异常。因此,在上述示例中,我们使用了int()函数将用户输入的字符串转换为整数类型。
  • 如果输入的不是一个整数,而是其他类型的数据(如浮点数或字符串),则需要进行相应的错误处理或类型转换。

12.Python 判断闰年

1、解释说明:
在Python中,判断闰年的方法是通过编写一个函数来实现的。闰年的判断规则是:能被4整除但不能被100整除的年份,或者能被400整除的年份,都是闰年。根据这个规则,我们可以编写一个函数来判断给定的年份是否为闰年。

2、使用示例:

def is_leap_year(year):
    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
        return True
    else:
        return False

# 测试示例
print(is_leap_year(2000))  # 输出:True
print(is_leap_year(2020))  # 输出:True
print(is_leap_year(2100))  # 输出:False
print(is_leap_year(2023))  # 输出:False

3、注意事项:

  • 在使用该函数时,需要传入一个整数作为参数,表示要判断的年份。
  • 如果传入的年份满足闰年的条件,函数将返回True,否则返回False。

13.Python 获取最大值函数

1、解释说明:
Python中获取最大值的函数是max(),它用于返回给定参数的最大值。该函数可以接受一个或多个参数,并返回其中的最大值。如果参数为空,则会引发TypeError异常。

2、使用示例:
下面是几个使用max()函数的示例:

# 示例1:获取单个数值的最大值
num = 5
max_value = max(num)
print("最大值为:", max_value)  # 输出:最大值为: 5

# 示例2:获取多个数值的最大值
nums = [1, 3, 7, 9, 2]
max_value = max(nums)
print("最大值为:", max_value)  # 输出:最大值为: 9

# 示例3:获取字符串中的最大字符(按Unicode码点)
string = "hello"
max_char = max(string)
print("最大字符为:", max_char)  # 输出:最大字符为: o

3、注意事项:

  • max()函数可以处理不同类型的参数,如整数、浮点数、字符串等。对于字符串,它将按照Unicode码点的大小进行比较。
  • 如果参数为空,调用max()函数会引发TypeError异常。因此,在使用之前需要确保参数不为空。

14.Python 质数判断

1、解释说明:
Python中判断一个数是否为质数的方法有很多,这里给出一个简单的方法。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。我们可以通过遍历从2到这个数的平方根之间的所有整数,检查这个数是否能被其中任何一个整数整除。如果能被整除,那么这个数就不是质数;如果不能被整除,那么这个数就是质数。

2、使用示例:

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            return False
    return True

# 测试
print(is_prime(7))  # 输出:True
print(is_prime(10))  # 输出:False

3、注意事项:

  • 当输入的数小于2时,直接返回False,因为质数的定义是大于1的自然数。
  • 在遍历的过程中,只需要遍历到这个数的平方根即可,因为一个合数必然可以表示成两个因数的乘积,如果这两个因数都大于这个数的平方根,那么它们的乘积就会大于这个数。所以只需要遍历到这个数的平方根即可。

15.Python 输出指定范围内的素数

1、解释说明:
在Python中,我们可以使用一个简单的函数来输出指定范围内的素数。素数是只有两个正因数(1和它本身)的自然数,且必须大于1。例如,2,3,5,7,11,13,17,19等都是素数。

2、使用示例:
以下是一个简单的Python函数,用于输出指定范围内的素数:

def prime_numbers(n):
    primes = []
    for possiblePrime in range(2, n + 1):
        isPrime = True
        for num in range(2, int(possiblePrime ** 0.5) + 1):
            if possiblePrime % num == 0:
                isPrime = False
                break
        if isPrime:
            primes.append(possiblePrime)
    return primes

print(prime_numbers(20))  # 输出:[2, 3, 5, 7, 11, 13, 17, 19]

在这个函数中,我们首先创建一个空列表primes来存储素数。然后,我们遍历从2到n的所有数字(包括n)。对于每个可能的素数,我们检查它是否可以被小于其平方根的任何数字整除。如果可以,那么它就不是素数。如果所有的数字都不能将其整除,那么它就是素数,我们将其添加到primes列表中。最后,函数返回primes列表,即指定范围内的所有素数。

3、注意事项:

  • 这个函数的时间复杂度是O(n^1.5),其中n是输入的数字。这是因为我们需要对每个数字进行一次到其平方根的遍历。如果输入的数字非常大,这个函数可能会运行得非常慢。在这种情况下,你可能需要使用更复杂的算法来生成素数。
  • 这个函数只适用于整数。如果你需要处理浮点数或其他类型的数字,你可能需要修改这个函数。

16.Python 阶乘实例

1、解释说明:
阶乘是一个数学概念,表示一个正整数的连乘积。例如,5的阶乘(记作5!)是12345=120。在Python中,我们可以使用递归或循环来计算阶乘。

2、使用示例:
以下是使用递归和循环计算阶乘的Python代码示例:

递归方法:

def factorial_recursive(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial_recursive(n-1)

num = 5
result = factorial_recursive(num)
print(f"{num}的阶乘是:{result}")

循环方法:

def factorial_iterative(n):
    result = 1
    for i in range(1, n+1):
        result *= i
    return result

num = 5
result = factorial_iterative(num)
print(f"{num}的阶乘是:{result}")

3、注意事项:

  • 当计算较大的阶乘时,递归方法可能会导致栈溢出。因此,对于较大的输入值,建议使用循环方法。
  • 在计算阶乘时,需要确保输入的值是非负整数。如果输入负数或非整数,程序可能会产生错误或不符合预期的结果。

17.Python 九九乘法表

1、解释说明:
Python 九九乘法表是一个使用 Python 编程语言实现的打印出从 1 到 9 的所有整数相乘的结果的程序。这个程序可以帮助初学者熟悉 Python 的基本语法和循环结构。

2、使用示例:
以下是一个简单的 Python 九九乘法表实现:

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j}x{i}={i * j}", end="\t")
    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	

3、注意事项:

  • 在打印每一行时,我们使用了 end="\t" 参数,这样可以使输出结果更加整齐。
  • 外层循环变量 i 的范围是 range(1, 10),表示从 1 到 9;内层循环变量 j 的范围是 range(1, i + 1),表示从 1 到 i。这样可以确保每个数字都与它自己以及小于它的所有数字相乘。

18.Python 斐波那契数列

1、解释说明:
斐波那契数列是一个整数序列,其中每个数字是前两个数字的和。这个数列的前几个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, …。在Python中,我们可以使用递归或循环的方法来计算斐波那契数列。

2、使用示例:
方法一:递归

def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(10))  # 输出:55

方法二:循环

def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        a, b = 0, 1
        for _ in range(2, n+1):
            a, b = b, a + b
        return b

print(fibonacci(10))  # 输出:55

3、注意事项:

  • 递归方法虽然简洁,但当n较大时,会导致重复计算,效率较低。因此,对于较大的n,建议使用循环方法。
  • 循环方法中的变量a和b分别表示斐波那契数列中的当前数字和前一个数字,每次迭代时更新它们的值。

19.Python 阿姆斯特朗数

1、解释说明:
阿姆斯特朗数(Armstrong number)是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如,153是一个阿姆斯特朗数,因为1^3 + 5^3 + 3^3 = 153。

2、使用示例:
要判断一个数是否为阿姆斯特朗数,可以使用以下方法:

  • 将数字转换为字符串,以便按位访问每个数字。
  • 对于每个数字,计算其n次幂之和。
  • 检查这个和是否等于原始数字。

下面是一个Python函数,用于判断一个数是否为阿姆斯特朗数:

def is_armstrong_number(num):
    num_str = str(num)
    n = len(num_str)
    sum_of_powers = sum(int(digit) ** n for digit in num_str)
    return sum_of_powers == num

使用示例:

print(is_armstrong_number(153))  # 输出 True,因为153是阿姆斯特朗数
print(is_armstrong_number(9474))  # 输出 True,因为9474是阿姆斯特朗数
print(is_armstrong_number(123))  # 输出 False,因为123不是阿姆斯特朗数

3、注意事项:

  • 输入的数字应该是非负整数。如果输入负数或非整数,可能会导致错误的结果或异常。
  • 如果输入的数字位数非常大,计算n次幂之和可能会消耗较多的时间和内存。在这种情况下,可以考虑优化算法或使用更高效的数据结构。

20.Python 十进制转二进制、八进制、十六进制

1、解释说明:
在Python中,我们可以使用内置的函数来将十进制数转换为二进制、八进制和十六进制。这些函数分别是bin()oct()hex()

  • bin()函数用于将十进制数转换为二进制数,返回一个字符串,其中包含表示该数字的二进制位的字符。
  • oct()函数用于将十进制数转换为八进制数,返回一个字符串,其中包含表示该数字的八进制位的字符。
  • hex()函数用于将十进制数转换为十六进制数,返回一个字符串,其中包含表示该数字的十六进制位的字符。

2、使用示例:

# 十进制转二进制
decimal_num = 10
binary_num = bin(decimal_num)
print("十进制数 {} 转换为二进制数为:{}".format(decimal_num, binary_num))

# 十进制转八进制
decimal_num = 10
octal_num = oct(decimal_num)
print("十进制数 {} 转换为八进制数为:{}".format(decimal_num, octal_num))

# 十进制转十六进制
decimal_num = 10
hexadecimal_num = hex(decimal_num)
print("十进制数 {} 转换为十六进制数为:{}".format(decimal_num, hexadecimal_num))

3、注意事项:

  • 转换后的二进制、八进制和十六进制字符串都以 “0b”、“0o” 和 “0x” 作为前缀,分别表示它们是二进制、八进制和十六进制的。如果不需要前缀,可以使用字符串切片操作去掉它们。例如,binary_num[2:] 将去掉 “0b”。
  • 如果输入的是一个负数,转换结果也会带有负号。例如,bin(-10) 返回的是 “-0b1010”。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值