counts = [98,12,3,4,1,4,9,3821]
minNum = min(counts)
#print minNum
minNum_index = counts.index(minNum)
#print minNum_index #找出列表中最小的2个元素
def find_two_smallest(L):
smallest = min(L)
min_index = L.index(smallest)
L.remove(smallest) smallest2 = min(L)
min_index2 = L.index(smallest2)
L.remove(smallest2) L.insert(min_index,smallest)
L.insert(min_index2,smallest2) if min_index <= min_index2:
min_index2 +=1 return (smallest,smallest2) ansList = find_two_smallest(counts)
print ansList #第二种方式
def find_two_smallest2(L):
tempList = L[:]
tempList.sort()
return (tempList[0],tempList[1]) ansList2 = find_two_smallest2(counts)
print ansList2 #搜索
def linear_search(v,L):
i = 0
while i<len(L) and L[i] != v:
i = i+1
return i print linear_search(7,counts)
print linear_search(12,counts) #计算花费的时间
import time
def linear_search2(v,L):
i = 0
for value in L:
if value == v:
return i
i = i+1
return len(L) L = range(1000001)
time1 = time.time()
linear_search(7,L)
linear_search(500000,L)
time2 = time.time()
print (time2-time1)*1000 L = range(10)
print L #二分搜索
def binary_search(v,L):
i = 0
j = len(L) -1
while i <= j:
m = (i+j)/2
if(L[m]<v):
i = m +1
else:
j = m - 1
if 0 <= i <len(L) and L[i] == v:
return i
else:
return -1 #测试
VALUES = [1,3,4,6,8,9,10]
assert binary_search(1,VALUES) == 0
assert binary_search(2,VALUES) == -1

Python学习笔记2_一些小程序的更多相关文章

  1. python学习笔记(2)——练习小程序之 " input " 隐藏陷阱

    练习小程序之 ----------" input " 隐藏陷阱 age=input('please enter your age:') if age>=18: print(' ...

  2. 微信小程序开发:学习笔记[7]——理解小程序的宿主环境

    微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器

  3. mpvue学习笔记-之微信小程序数据请求封装

    简介 美团出品的mpvue已经开源出来很久了,一直说要进行一次实践,这不最近一次个人小程序开发就用上了它. 看了微信官方的数据请求模块--request,对比了下get和post请求的代码,发现如果在 ...

  4. python学习笔记(六)——程序调试

    在我们平时编写程序时,常常会遇到各种错误,俗称BUG.而我们程序猿的工作常常需要对程序进行调试,也就是所谓的debug. 程序调试是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法 ...

  5. python学习day4--python基础--购物小程序

    '''购物小程序:用户启动时先输入工资用户启动程序后打印商品列表允许用户选择购买商品允许用户不断购买各种商品购买时检测余额是否够,如果够直接扣款,否则打印余额不足允许用户主动退出程序,退出时打印已购商 ...

  6. c++学习笔记---03---从一个小程序说起2

    从一个小程序说起2 要求:编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行中的任何位置.当用户按下键盘上的"Enter"键时,数据输入 ...

  7. c++学习笔记---02---从一个小程序说起

    从一个小程序说起 这一讲的主要目的是帮助大家在C语言的背景知识上与C++建立联系. 问题探索 问题:对一个整型数组求和. 要求:定义一个存储着 n 个元素的数组,要求用C语言完成这个任务. 赶紧的:大 ...

  8. python学习笔记(12)--程序设计方法学

    计算思维: 逻辑思维:推演和演绎 实证思维:实验和验证,引力波->实验 计算思维:设计和构造,计算机为代表,汉诺塔递归. 计算思维特征 抽象和自动化,抽象问题的计算过程,利用计算机自动化求解. ...

  9. [python学习笔记] pyinstaller打包pyqt5程序无法运行

    问题 pyinstaller打包的pyqt5程序在部分电脑上会失败.用户截图提示下边错误日志 无法定位程序输入点 ucrtbase.terminate 于动态链接库 api-ms-win-crt-ru ...

随机推荐

  1. python列表之append与extend方法比较

    append和extend是列表的两种添加元素方式,但这两种方式却又有些不同之处.那么不同之处在哪里呢,我们通过对二者的定义和实例来看一看. list.append() 1.定义:L.append(o ...

  2. js cookie 操作

    <html> <head> <meta charset="utf-8"> <title>Javascript cookie</ ...

  3. python入门:输出1-10以内除去7的所有数(经典)

    #!/usr/bin/env python # -*-coding:utf-8 -*- #输出1-10以内除去7的所有数(经典) """ 给kaishi赋值为1,whil ...

  4. 【线程池】ExecutorService与quartz搭配出现的问题

    问题描述: 使用quartz定时推送微信公众号模板消息,一分钟推送一次,定时器里面使用了一个ExecutorService线程池,大小为5个. 批量获取数据之后,全部数据都被分配到n/5的线程池里面等 ...

  5. php 关于金额的几种计算方式

    php 关于金额的几种计算方式 平常开始开发过程中,多多少少都会遇到点关于金额的计算,比如设置返利.提现手续费.折扣啊等等诸如此类的比例,然后再计算出之后的实际的费用. 下面,以折扣为例,来实现这类计 ...

  6. 通过cookies信息模拟登陆

    import requests # 这个练习演示的是通过传入cookie信息模拟登陆,这样操作的前提是需要预先在浏览器登陆账户抓包得到cookie字段信息 url = "http://www ...

  7. 汇编语言 Part 2——寄存器

    处理器操作主要涉及处理数据.这些数据可以存储在内存中并从中访问.但是,读取数据并将其存储到内存中会减慢处理器的速度,因为它涉及将数据请求通过控制总线发送到内存存储单元并通过同一通道获取数据的复杂过程. ...

  8. 牛客网 Wannafly挑战赛21 灯塔

    Z市是一座港口城市,来来往往的船只依靠灯塔指引方向.在海平面上,存在n个灯塔.每个灯塔可以照亮以它的中心点为中心的90°范围.特別地, 由于特殊限制,每个灯塔照亮范围的角的两条边必须要么与坐标轴平行要 ...

  9. 03011_HttpServletRequest

    1.HttpServletRequest概述 (1)我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代 ...

  10. 前端AI切图技巧

    AI的基本使用 1.选中多个不同图层. 首先在AI右边工具栏找到“图层” 然后选择需要切图的图层(按住“ctrl”点击) 最后拖到PS里面的新建的图层. 还有个问题,就是图层关联太多,无法拖动某些图层 ...