Python整型案例如何实操运算

wen python案例 30

本文目录导读:

Python整型案例如何实操运算

  1. 基础运算案例
  2. 进制转换案例
  3. 实际应用场景
  4. 位运算案例
  5. 整数边界测试
  6. 综合练习
  7. 实用技巧

我来通过几个实际案例来演示Python整型的实操运算。

基础运算案例

# 基本算术运算
a = 15
b = 4
print("=== 基本算术运算 ===")
print(f"{a} + {b} = {a + b}")      # 加法:19
print(f"{a} - {b} = {a - b}")      # 减法:11
print(f"{a} * {b} = {a * b}")      # 乘法:60
print(f"{a} / {b} = {a / b}")      # 除法:3.75
print(f"{a} // {b} = {a // b}")    # 整除:3
print(f"{a} % {b} = {a % b}")      # 取余:3
print(f"{a} ** {b} = {a ** b}")    # 幂运算:50625

进制转换案例

# 不同进制的整数
print("=== 进制转换 ===")
decimal_num = 42
# 十进制转其他进制
print(f"十进制 {42} 的二进制:{bin(decimal_num)}")     # 0b101010
print(f"十进制 {42} 的八进制:{oct(decimal_num)}")     # 0o52
print(f"十进制 {42} 的十六进制:{hex(decimal_num)}")   # 0x2a
# 其他进制转十进制
print(f"二进制 0b101010 转十进制:{int('0b101010', 2)}")    # 42
print(f"八进制 0o52 转十进制:{int('0o52', 8)}")          # 42  
print(f"十六进制 0x2a 转十进制:{int('0x2a', 16)}")        # 42

实际应用场景

1 银行利息计算

# 计算复利
principal = 10000  # 本金
rate = 0.05        # 年利率
years = 5          # 存款年数
# 复利公式:A = P(1 + r)^n
amount = principal * (1 + rate) ** years
final_amount = int(amount * 100) / 100  # 保留两位小数
print(f"本金:¥{principal}")
print(f"年利率:{rate * 100}%")
print(f"{years}年后本息合计:¥{final_amount}")

2 秒数转换

# 把秒数转换为时分秒
total_seconds = 3665
hours = total_seconds // 3600
remaining = total_seconds % 3600
minutes = remaining // 60
seconds = remaining % 60
print(f"{total_seconds}秒 = {hours}小时{minutes}分钟{seconds}秒")
# 输出:3665秒 = 1小时1分钟5秒

3 判断奇偶数

# 判断一个数是奇数还是偶数
def check_odd_even(num):
    if num % 2 == 0:
        return "偶数"
    else:
        return "奇数"
test_numbers = [7, 12, 23, 50]
for num in test_numbers:
    print(f"{num} 是{check_odd_even(num)}")

4 斐波那契数列

# 生成斐波那契数列
def fibonacci(n):
    fib_list = [0, 1]
    for i in range(2, n):
        fib_list.append(fib_list[i-1] + fib_list[i-2])
    return fib_list
# 生成前10个斐波那契数
result = fibonacci(10)
print("斐波那契数列前10项:", result)
# 输出:[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

位运算案例

# 位运算操作
a = 60  # 二进制:0011 1100
b = 13  # 二进制:0000 1101
print("=== 位运算 ===")
print(f"a & b = {a & b}")    # 按位与:12 (0000 1100)
print(f"a | b = {a | b}")    # 按位或:61 (0011 1101)
print(f"a ^ b = {a ^ b}")    # 按位异或:49 (0011 0001)
print(f"~a = {~a}")          # 按位取反:-61
print(f"a << 2 = {a << 2}")  # 左移2位:240 (1111 0000)
print(f"a >> 2 = {a >> 2}")  # 右移2位:15 (0000 1111)

整数边界测试

# Python整型的特殊性
print("=== Python整数边界 ===")
print(f"整数类型的大小:{int.__sizeof__(0)} 字节")
# Python的整数是任意精度的
large_number = 10 ** 100  # 极大的整数
print(f"10的100次方:{large_number}")
# 负数处理
negative = -5
print(f"绝对值:{abs(negative)}")  # 5
print(f"取反:{~negative}")        # 4 (因为 ~(-5) = 4)

综合练习

# 实现一个简单的计算器
class IntegerCalculator:
    @staticmethod
    def factorial(n):
        """计算阶乘"""
        if n < 0:
            return "负数没有阶乘"
        result = 1
        for i in range(1, n + 1):
            result *= i
        return result
    @staticmethod
    def gcd(a, b):
        """计算最大公约数"""
        while b:
            a, b = b, a % b
        return a
    @staticmethod
    def lcm(a, b):
        """计算最小公倍数"""
        return a * b // IntegerCalculator.gcd(a, b)
# 使用计算器
calc = IntegerCalculator()
print(f"5! = {calc.factorial(5)}")          # 120
print(f"12和18的最大公约数:{calc.gcd(12, 18)}")  # 6
print(f"12和18的最小公倍数:{calc.lcm(12, 18)}")  # 36

实用技巧

# 1. 快速交换两个数
a, b = 10, 20
a, b = b, a  # 利用元组解包
print(f"交换后:a = {a}, b = {b}")
# 2. 判断是否为整数
def is_integer(value):
    return isinstance(value, int)
print(f"3是整数吗?{is_integer(3)}")       # True
print(f"3.0是整数吗?{is_integer(3.0)}")   # False
# 3. 数字格式化
number = 1234567
print(f"带千位分隔符:{number:,}")  # 1,234,567
print(f"科学计数法:{number:e}")     # 1.234567e+06

这些案例涵盖了Python整型的主要操作和实际应用场景,练习时建议:

  1. 先从基础运算开始,理解各运算符的含义
  2. 结合实际场景,如金融计算、时间转换等
  3. 注意边界情况,特别是除法和取模操作
  4. 善用IDE调试,观察变量的变化过程

有什么具体的运算场景需要练习吗?

抱歉,评论功能暂时关闭!