
Python学习馆
技术小咖龙
向前跑,不惧冷眼和嘲笑
展开
-
天道酬勤系列之Python 希尔排序
Python 希尔排序希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。def shellSort(arr): n = len(arr) gap = int(...原创 2019-11-30 08:47:09 · 219 阅读 · 0 评论 -
带你学系列之Python 冒泡排序
Python 冒泡排序冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。def bubbleSort(arr): n = len(arr)...原创 2019-11-30 08:45:34 · 920 阅读 · 0 评论 -
自强不息系列之Python 选择排序
Python 选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。import sys A = [64, 25, 12, 22, 11] for i in ra...原创 2019-11-30 08:36:00 · 331 阅读 · 0 评论 -
自强不息系列之Python 线性查找
Python 线性查找线性查找指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。def search(arr, n, x): for i in range (0, n): if (arr[i] == x): return i; return -1; # 在数组 arr 中查找字符 Dar...原创 2019-11-30 08:31:41 · 357 阅读 · 0 评论 -
带你学之Python 打印自己设计的字体
Python 打印自己设计的字体通过对 26 个字母的设定,设置自己要输出的字体。name = "RUNOOB" # 接收用户输入# name = input("输入你的名字: \n\n") lngth = len(name) l = "" for x in range(0, lngth): c = name[x] c = c.upper(...原创 2019-11-30 08:33:07 · 782 阅读 · 0 评论 -
Python编程之列表的排序及连接
问题描述:列表的排序及连接程序分析:一般来说,列表的排序可使用 sort() 方法,连接可以使用 + 号或 extend() 方法。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': a = [10,33,22] b = [60,44,55] a.sort() ...原创 2019-04-13 10:33:18 · 436 阅读 · 0 评论 -
Python编程之求字符串长度
问题描述:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*-if __name__ == '__main__': s = raw_input('please input a string:\n') print 'the string has %d char...原创 2019-04-07 08:37:11 · 3655 阅读 · 2 评论 -
Python编程之数据记录
问题描述:编写input()和output()函数输入,输出5个学生的数据记录。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- N = 3#stu# num : string# name : string# score[4]: liststudent = []for i in range(5): student.app...原创 2019-04-07 08:38:33 · 1139 阅读 · 0 评论 -
Python编程之创建链表
问题描述:创建一个链表。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': ptr = [] for i in range(5): num = int(raw_input('please input a number:\n')) ptr.ap...原创 2019-04-07 08:40:15 · 701 阅读 · 1 评论 -
Python编程之变量值互换
问题描述:输入两个变量,交换其变量值。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- def exchange(a,b): a,b = b,a return (a,b) if __name__ == '__main__': x = 10 y = 20 print 'x = %d,y = %d' ...原创 2019-04-02 09:35:53 · 1246 阅读 · 0 评论 -
Python编程之数字大小比较
问题描述:输入两个数,对其比较大小。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': i = 10 j = 20 if i > j: print '%d 大于 %d' % (i,j) elif i == j: prin...原创 2019-04-02 09:39:27 · 8783 阅读 · 0 评论 -
Python编程之创建匿名函数
问题描述:使用lambda来创建匿名函数。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- MAXIMUM = lambda x,y : (x > y) * x + (x < y) * yMINIMUM = lambda x,y : (x > y) * y + (x < y) * x if __name__...原创 2019-04-02 09:41:17 · 554 阅读 · 0 评论 -
Python编程之围圈报数
问题描述:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': nmax = 50 n = int(raw_input('请输入总人数:')) num...原创 2019-04-07 08:35:01 · 3515 阅读 · 1 评论 -
Python编程之整数移位
问题描述:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': n = int(raw_input('整数 n 为:\n')) m = int(raw_input('向后移 m 个位置为:\n')) ...原创 2019-04-07 08:33:16 · 2809 阅读 · 0 评论 -
Python编程之数组元素交换输出
问题描述:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- def inp(numbers): for i in range(6): numbers.append(int(raw_input('输入一个数字:\n')))p = 0 def a...原创 2019-04-07 08:31:45 · 2284 阅读 · 0 评论 -
Python编程之按序输出
问题描述:输入3个数a,b,c,按大小顺序输出。 程序分析:控制最小量。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': n1 = int(raw_input('n1 = :\n')) n2 = int(raw_input('n2 = :\n')) n3 = ...原创 2019-04-07 08:29:08 · 678 阅读 · 0 评论 -
Python编程之求100以内的素数
问题描述:使用Python编程输出求100之内的素数。程序分析:使用lower和upper语句调用。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- # 输出指定范围内的素数 # 用户输入数据lower = int(input("输入区间最小值: "))upper = int(input("输入区间最大值: ")) for ...原创 2019-03-27 18:37:17 · 7711 阅读 · 0 评论 -
Python编程之文本颜色设置
问题描述:使用Python语言完成文本颜色设置。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- class bcolors: HEADER = '\033[95m' OKBLUE = '\033[94m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL ...原创 2019-03-27 18:35:04 · 1396 阅读 · 1 评论 -
Python编程之求数字平方
问题描述:求输入数字的平方,如果平方运算后小于 100 则退出。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- TRUE = 1FALSE = 0def SQ(x): return x * xprint '如果输入的数字小于 100,程序将停止运行。'again = 1while again: num = int...原创 2019-03-30 09:02:46 · 6872 阅读 · 0 评论 -
Python编程之求1+2+..100之和
问题描述:求 1 加到 100 之和。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- tmp = 0for i in range(1,101): tmp += iprint 'The sum is %d' % tmp输出结果如下:The sum is 5050...原创 2019-03-30 08:59:08 · 8621 阅读 · 0 评论 -
Python编程之矩阵加法
问题描述:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:X = [[10,17,6], [14 ,7,6], [27 ,18,9]]Y = [[2,5,4], [2,4,13], [4,15,9]]程序分析:创建一个新的 3 行 3 列的矩阵,使用 for 迭代并取出 X 和 Y 矩阵中对应位置的值,相加后放到新矩阵的对应位置...原创 2019-03-30 08:57:30 · 5529 阅读 · 0 评论 -
Python编程之输出随机数
问题描述:输出一个随机数。程序分析:使用 random 模块。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- import random #生成 10 到 200 之间的随机数print random.uniform(10, 200)输出结果如下:14.401237135725.2548745124.2568...原创 2019-04-02 09:44:20 · 1901 阅读 · 1 评论 -
Python编程之画圆
问题描述:画图,学会使用circle画圆形。 源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': from Tkinter import * canvas = Canvas(width=800, height=600, bg='yellow') canva...原创 2019-04-02 09:47:10 · 4188 阅读 · 0 评论 -
肺腑谏言,给那些想学Python的人,建议收藏后细看!
根据 2018 年 Python 开发者大调查,Python 3 的渗透率已经快速增长至 84%,越来越多的开发者使用 Python 进行数据分析。同时在 Web 开发、运维、系统维护等领域也是 Python 开发者们的主力战场。所以学习 Python 后到底要做些什么?从其他语言转到 Python 要怎么学、做些什么?你要跳槽、晋升,硬核技能是否已经 Get?今天就来说说一直不得法的人应该如何入...原创 2019-08-03 09:04:41 · 1216 阅读 · 0 评论 -
技术沙龙系列之:Python 函数参数前面一个星号(*)和两个星号(**)的区别
下面来谈谈Python 函数参数前面一个星号(*)和两个星号(**)的区别,这也是许多小伙伴在学习时的一个困惑,简单为大家介绍一下:在 Python 的函数中经常能看到输入的参数前面有一个或者两个星号,例如:def foo(param1, *param2):def bar(param1, **param2):这两种用法其实都是用来将任意个数的参数导入到 Python 函数中。单...原创 2019-06-06 16:26:28 · 559 阅读 · 0 评论 -
新手学习的一点点心得之Python3网络编程入门
下面来简要谈谈Python3的网络编程如何能够快速入门,新手要多多关注哟!!!Python 提供了两个级别访问的网络服务。:低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。 高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。1、什么是 Socket?...原创 2019-05-11 10:41:28 · 329 阅读 · 0 评论 -
Python列表的使用介绍
下面来具体介绍一下Python 列表的使用方法及其注意事项,具体如下:序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表...原创 2019-05-10 14:29:11 · 349 阅读 · 0 评论 -
Python编程之时间函数举例
问题描述:时间函数举例。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*-if __name__ == '__main__': import time print time.ctime(time.time()) print time.asctime(time.localtime(time.time())) pri...原创 2019-04-20 09:20:44 · 242 阅读 · 0 评论 -
Python编程之结构体变量传递
问题描述:实现结构体变量传递。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*-if __name__ == '__main__': class student: x = 0 c = 0 def f(stu): stu.x = 10 stu.c = 'c' ...原创 2019-04-20 09:12:43 · 1875 阅读 · 0 评论 -
Python编程之连接字符串
问题描述:使用Python编程连接字符串。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- delimiter = ','mylist = ['China', 'America', 'Canada', 'Russia']print delimiter.join(mylist)输出结果如下:China,America,Cana...原创 2019-04-20 09:09:53 · 202 阅读 · 0 评论 -
Python编程之求奇数个数
问题描述:求0—7所能组成的奇数个数。程序分析:组成1位数是4个。组成2位数是7*4个。组成3位数是7*8*4个。组成4位数是7*8*8*4个。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': sum = 4 s = 4 for j in r...原创 2019-04-20 09:06:02 · 6655 阅读 · 0 评论 -
Python编程之进制转换
问题描述:八进制转换为十进制源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': n = 0 p = raw_input('input a octal number:\n') for i in range(len(p)): n = n * 8 + or...原创 2019-04-17 09:50:04 · 330 阅读 · 0 评论 -
Python编程之字符串排序
问题描述:对字符串排序。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': str1 = raw_input('input string:\n') str2 = raw_input('input string:\n') str3 = raw_input('input...原创 2019-04-13 10:44:15 · 424 阅读 · 0 评论 -
Python编程之列表循环输出
问题描述:循环输出一个列表。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': s = ["good","bad","easy","boy","mum"] for i in range(len(s)): print s[i]输出结果如下:good...原创 2019-04-13 10:41:17 · 2331 阅读 · 0 评论 -
Python编程之函数调用
问题描述:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- def peven(n): i = 0 s = 0.0 for i in range(2,n + 1,2): s ...原创 2019-04-13 10:37:37 · 620 阅读 · 0 评论 -
Python编程之简单数值计算
问题描述:计算一道简单的题目。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': for i in range(5): n = 0 if i != 1: n += 1 if i == 3: n += 1 if i ==...原创 2019-04-13 10:35:19 · 1044 阅读 · 0 评论 -
Python编程之反向输出链表
问题描述:反向输出一个链表源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == '__main__': ptr = [] for i in range(5): num = int(raw_input('please input a number:\n')) ptr.a...原创 2019-04-13 10:28:02 · 594 阅读 · 0 评论 -
Python编程之计算字符串长度
问题描述:计算字符串长度。 源代码:#!/usr/bin/python# -*- coding: UTF-8 -*- sStr1 = 'strhgnuidlen'print len(sStr1)输出结果如下:12原创 2019-04-02 09:49:44 · 1228 阅读 · 0 评论 -
Python编程之使用auto定义变量
问题描述:学习使用auto定义变量的用法。分析:没有auto关键字的话,可以使用变量作用域来举例。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*-num = 2def autofunc(): num = 1 print 'internal block num = %d' % num num += 1for i ...原创 2019-03-30 08:53:06 · 5884 阅读 · 0 评论 -
Python编程之静态变量的使用
问题描述:模仿静态变量的用法。源代码:#!/usr/bin/python# -*- coding: UTF-8 -*-def varfunc(): var = 0 print 'var = %d' % var var += 1if __name__ == '__main__': for i in range(3): varfunc(...原创 2019-03-30 08:49:37 · 1242 阅读 · 0 评论