Python实现小算法

打印九九乘法表(Python):
#!/usr/bin/python3
# -*- coding: utf-8 -*-
for i in range(1,10):
    for j in range(1,i+1):
        print "%d * %d = %2d,"%(i,j,j*i),
    print ""

运行结果:

1 * 1 =  1, 
2 * 1 =  2, 2 * 2 =  4, 
3 * 1 =  3, 3 * 2 =  6, 3 * 3 =  9, 
4 * 1 =  4, 4 * 2 =  8, 4 * 3 = 12, 4 * 4 = 16, 
5 * 1 =  5, 5 * 2 = 10, 5 * 3 = 15, 5 * 4 = 20, 5 * 5 = 25, 
6 * 1 =  6, 6 * 2 = 12, 6 * 3 = 18, 6 * 4 = 24, 6 * 5 = 30, 6 * 6 = 36, 
7 * 1 =  7, 7 * 2 = 14, 7 * 3 = 21, 7 * 4 = 28, 7 * 5 = 35, 7 * 6 = 42, 7 * 7 = 49, 
8 * 1 =  8, 8 * 2 = 16, 8 * 3 = 24, 8 * 4 = 32, 8 * 5 = 40, 8 * 6 = 48, 8 * 7 = 56, 8 * 8 = 64, 
9 * 1 =  9, 9 * 2 = 18, 9 * 3 = 27, 9 * 4 = 36, 9 * 5 = 45, 9 * 6 = 54, 9 * 7 = 63, 9 * 8 = 72, 9 * 9 = 81, 
打印冒泡排序(Python):
def bubbleSort(myList):
    length = len(myList)
    for i in range(0,length-1):
        for j in range(0,length-i-1):
            if myList[j] > myList[j+1]:
                tmp = myList[j]
                myList[j] = myList[j+1]
                myList[j+1] = tmp

    for item in myList:
        print (item)
    print ("==========================")

print ("Bubble Sort:")
myList = [1,22,31,12,122,233,311]
bubbleSort(myList)

运行结果:

Bubble Sort:
1
12
22
31
122
233
311
==========================
实现二分法查找(Python):
import random

unsortedList = []

def generateUnsortedList(num):
    for i in range(0,num):
        unsortedList.append(random.randint(0,100))
    print unsortedList

def binarySearch(target,sortedList):
    list_length = len(sortedList)
    start = 0
    end = list_length-1
    if list_length == 0:
        print '原数组:'
        return -1
    while start < end:
        middle = (start+end)/2
        if target == sortedList[middle]:
            print 'empty list',middle
            return middle
        elif target<sortedList[middle]:
            end=middle-1
        else:
            start=middle+1
    print 'not find'
    return -1

generateUnsortedList(5)
sortedList = sorted(unsortedList)
print sortedList
binarySearch(14,sortedList)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值