python写的小程序
时间:2022-07-22
本文章向大家介绍python写的小程序,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
python写的2个小程序
今天早上来公司比较早,就用python写了写数据结构的代码,工作之后虽然参与了一部分开发的工作,但都是在写业务逻辑,时间长了,发现自己成了if-else选手了,索性后面每天都写写,保持保持手感,最近在<极客时间>买了一个<Python核心技术与实战>,感觉也讲得不错,推荐大家看看。
分享一段单链表翻转的python代码和冒泡排序的python代码,大家随意看看。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# 单链表的翻转功能。
# Node是一个类
class Node:
def __init__(self,data=None,next=None):
self.data = data
self.next = next
# 翻转链表函数,传入头节点
def reverse(serf, head):
if head is None or head.next is None: # 防止链表为空或只有1个节点
return head
pre_node = None #一个虚节点
current_node = head
while current_node is not None:
next_node = current_node.next
current_node.next = pre_node
pre_node = current_node
current_node = next_node
return pre_node
if __name__ == '__main__':
link = Node(1, Node(2, Node(3, Node(4, Node(5, Node(6, Node(7, Node(8, Node(9))))))))) # 定义的时候,采用这递归的方法.
root = reverse(link)
while root:
print(root.data)
root =root.next
冒泡排序的python代码:
#!/usr/bin/env python
# -*- coding:utf8 -*-
arr = [1, 34, 3, 48, 27, 46, 79, 35]
'''
实现思路:
冒泡排序的思想就是一次循环将两两数之间相互比较,将较大的数放到后面,一次比较完之后
程序比较的次数就减少一次,依次比较 每比较一次 比较的次数就减少一次。
因此 用两个for循环 外层用来判断循环的次数,内层for循环用来比较程序的比较的次数
'''
def bubble_sort(arr):
length = len(arr)
for i in range(length): # 这个循环负责设置冒泡排序进行的次数(比如说n个数,则只要进行n-1次冒泡,就可以把这n个数排序好)
for j in range(0, length-1-i): #这里这个j就是控制每一次具体的冒泡过程,假如有三个数,那只需要两次就可以了,当下一次时,最后一个数字已经是有序的了,所以说少冒泡一次,所以这里j每次都会减去i的值
if arr[j] > arr[j+1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j] # 这里是python特有的写法,如果在C++等语言中,需要借助中间变量将两个值进行交换
# 函数调用
bubble_sort(arr)
print('{}'.format(arr))
- 天才第一步 Docker 纸尿裤
- 如何迁移Kudu1.2的WAL和Data目录
- WordPress REST API 内容注入漏洞分析
- 如何为Kerberos环境的CDH集群在线扩容数据节点
- WinDbg 漏洞分析调试(一)
- MySQL MVCC(多版本控制)
- 如何在集群外节点跨网段向HDFS写数据
- 如何使用HAProxy实现Kerberos环境下的Impala负载均衡
- Hue中使用Oozie创建Shell工作流在脚本中切换不同用户
- Python学习(七):模块 优雅的封装
- 非Kerberos环境下Kafka数据到Flume进Hive表
- 6.如何为Hue配置OpenLDAP认证
- Socket 通信原理
- PHP 面试知识梳理
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 国防科大提出基于可变形三维卷积(D3Dnet)的视频超分辨,代码已开源
- 不要被kafka的异步模式欺骗了
- 给你总结几个ES下最容易踩的坑
- ES系列之利用filter让你的查询效率飞起来
- ES主分片和副本数据大小不一样的情况
- 关于kibana的可视化可能都在这篇文章里了
- ES分页看这篇就够了
- ES系列之原来查看文档数量有这么多姿势
- ES系列之嵌套文档和父子文档
- ES系列之一文带你避开日期类型存在的坑
- ES系列之原来ES的聚合统计不准确啊
- fastjson远程代码执行漏洞问题分析
- 数据库连接池的原理没你想得这么复杂
- 你真的会用volatile吗
- 你真的了解LinkedBlockingQueue的put,add和offer的区别吗