今天要和你们聊聊几个特别实用的Python小算法,名字听起来高大上,但其实真的一点都不难!
我们从排序到查找,再到一个模拟银行账户的小游戏,一步步学起来,包你轻松掌握!
1. 冒泡排序:像整理袜子一样简单
还记得整理袜子的烦恼吗?冒泡排序就是这么个过程,把乱七八糟的数字一个个“整理”,每次对比两数,把较大的冒到右边,直到所有数字都排好顺序。
代码如下:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j]
return arr
# 示例
nums = [64, 34, 25, 12, 22, 11, 90]
print(bubble_sort(nums)) # 输出:[11, 12, 22, 25, 34, 64, 90]自己试一试,一步步看到“乱序变整齐”,特别治愈哦!
2. 二分查找:高效又精准
还记得翻字典找单词的过程吗?从中间开始,目标不在左边就在右边,范围不断缩小,这就是二分查找的原理。特别适合在有序数组中查找某个值。
代码如下:
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
# 示例
nums = [11, 22, 25, 34, 64, 90]
print(binary_search(nums, 25)) # 输出:2高效又简单,快试着查查别的数字吧!
3. 模拟银行账户:当一天“银行家”
最后,我们玩点有趣的~自己动手写个银行系统,模拟存款、取款和查询余额,是不是很有意思?来看看代码:
代码如下:
class BankAccount:
def__init__(self, initial_balance=0):
self.balance = initial_balance
defdeposit(self, amount):
self.balance += amount
returnf"存款成功!当前余额:{self.balance}元"
defwithdraw(self, amount):
if amount > self.balance:
return"余额不足,取款失败!"
self.balance -= amount
returnf"取款成功!当前余额:{self.balance}元"
defcheck_balance(self):
returnf"当前余额:{self.balance}元"
# 示例
account = BankAccount(100)
print(account.deposit(50)) # 输出:存款成功!当前余额:150元
print(account.withdraw(30)) # 输出:取款成功!当前余额:120元
是不是有种当银行家的感觉?快试试,看看自己能攒多少钱!
更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!