本文目录导读:

我来通过几个实际案例来演示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整型的主要操作和实际应用场景,练习时建议:
- 先从基础运算开始,理解各运算符的含义
- 结合实际场景,如金融计算、时间转换等
- 注意边界情况,特别是除法和取模操作
- 善用IDE调试,观察变量的变化过程
有什么具体的运算场景需要练习吗?
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播