网上有一个Python100小例子的栏目,里面代码良莠不齐,于是下面就自己实现了其中的一些案例。

01.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/24'
#    __Desc__ = 

'''
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
'''

source = [1,2,3,4]

for i in range(len(source)):
    for j in range(len(source)):
        for k in range(len(source)):
            if source[i]!=source[j] and source[i]!=source[k] and source[j]!=source[k]:
                print source[i],source[j],source[k]

02.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/24'
#    __Desc__ =

'''
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,
高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
'''

money = int(raw_input('Please input the money:\n'))

money_list = [1000000,600000,400000,200000,100000,0]
percent_list = [0.01,0.025,0.03,0.05,0.075,0.1]

scholarship = 0

for index in range(0,6):
    if money > money_list[index]:
        scholarship +=(money-money_list[index])*percent_list[index]
        print (money-money_list[index])*percent_list[index]
        money = money_list[index]

print scholarship

03.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/24'
#    __Desc__ = 一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少?
import math

for i in range(1,10000):
    x = int(math.sqrt(i+100))
    y = int(math.sqrt(i+268))
    if (x*x == i + 100) and (y*y == i+268):
        print i

04.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/24'
#    __Desc__ = 输入某年某月某日,判断这一天是这一年的第几天?

year = int(raw_input('请输入年份:\n'))
month = int(raw_input('请输入月份:\n'))
day = int(raw_input('请输入日期:\n'))

days = [0,31,59,90,120,151,181,212,243,273,304,334]
result = 0
if 0< month <= 12:
    result = days[month]
else:
    result = 0

result += day

if year%400==0 or (year%4==0 and year%100!=0):

    if month >2 : result +=1

print '%d-%d-%d是今年的第%d天!'%(year,month,day,result)

05.py

# coding:utf-8
import sys
reload(sys)

sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 输入三个整数x,y,z,请把这三个数由小到大输出。

# ls = []
# for iten in range(0,3):
#     ls.append(int(raw_input('请输入一个数字:\n')))
# ls.sort()

ls = [1,3,6,2,4,8,7,9,0]
target = []
for item in ls:
    target.append(item)
    target.sort()
    print target

print '输入的数据由大到小的顺序为:\n',target

06.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 输出9*9乘法口诀表。

for x in range(1,10):
    for y in range(1,x+1):
        # 原来实现Python2.7print的输出不换行的关键在于句末的一个小逗号啊!!!
        print "%d*%d=%d\t"%(x,y,x*y),
    print '\n'


07.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 暂停一秒输出。

import time

print '一秒后将会处处另一句话!'
time.sleep(1)
print '这就是一秒后的那句话!'

08.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
# 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

ls = [1,1]
for item in range(0,6):
    top = ls[-1]
    sec_top = ls[-2]
    ls.append((top+sec_top))
    ls.sort()

for item in range(len(ls)):
    print '第%d个月,兔子数量为:%d'%(item+1,ls[item])

09.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 判断101-200之间有多少个素数,并输出所有素数。

def is_sushu(number):
    for item in range(2,number):
        if number%item==0:
            return False
    return True

if __name__=="__main__":
    for i in range(101,201):
        if is_sushu(i):
            print i


10.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,
# 其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

# 返回给定数字的水仙花计数值
def return_water_flower_number(number):
    ls = []
    i = 0
    while True:
        i = number %10
        ls.append(i)
        number = (number -i)/10
        if number ==0:
            break
    sum_sum = 0
    for item in ls:
        sum_sum+=int(item)**3
    return sum_sum

if __name__=="__main__":
    for i in range(1,10000):
        if return_water_flower_number(i)==i:
            print i

11.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

# 呵呵,这段代码我都佩服我自己了,竟然真的可以这么愉快的运行下去
def fenjie(number):
    ls = []
    i = 2
    while True:
        if number%i==0:
            ls.append(i)
            number = number/i
            if number / i == 1:
                ls.append(number)
                break
        else:
            i+=1
        if number/i ==1:
            ls.append(number)
            break

    return ls

if __name__=="__main__":
    num = int(raw_input('请输入一个数字:\n'))
    print "%d的所有质因数是:%d=" % (num,num),
    for item in fenjie(num):
        print item,'*',

12.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

def retravel(number,times):
    result = 0
    tag = number
    for index in range(1,times+1):
        result += number
        number = number*10+tag

    return result

if __name__=="__main__":
    number = int(raw_input('请输入0-9之间的一个数字:\n'))
    times = int(raw_input('请输入要循环的次数:\n'))
    print '结果是:',retravel(number,times)

13.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 一个数如果恰好等于它的因子之和,这个数就称为"完数"。
# 例如6=1+2+3.编程找出1000以内的所有完数。

def is_full_number(number):
    ls = []
    i = 1
    for i in range(1,number):
        if number %i==0:
            ls.append(i)
            if i+1== number:
                break
        else:
            continue
    summary = 0
    for i in ls:
        summary +=i
    if summary == number :
        return True
    else:
        return False

if __name__ == "__main__":
    for i in range(1,10000):
        if is_full_number(i):
            print i

14.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 一球从100米高度自由落下,每次落地后反跳回原高度的一半;
# 再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

def get_total_height(height,times):
    total_height = float(height)
    temp_height = 0.0
    for i in range(1,times):
        height = float(height) /2
        temp_height = height
        total_height+=2*height
    return (total_height,temp_height)

if __name__=="__main__":
    height = 100.0
    times = 10
    print "所求高度和为:%d,最后一次落地弹起高度为:%d"%get_total_height(height,times)

15.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
# 以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

def get_total_peaches(day):
    total_peaches = 0
    if day == 10:
        total_peaches = 1
    else:
        total_peaches = (get_total_peaches(day+1)+1)*2
    return total_peaches

print 'total peaches is:%d'%get_total_peaches(1)

16.py

暂留

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/26'
#    __Desc__ = 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

def append(char):
    pass

17.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/31'
#    __Desc__ = 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

def isHuiWen(number):
    arr =  str(number)
    start = 0
    end = len(arr)-1
    flag = (end-start)/2
    while start <=end :
        print arr[start],arr[end]
        if arr[start]==arr[end]:
            start +=1
            end-=1
        else:
            return False
    return True

if __name__=="__main__":
    result = isHuiWen(123321)
    if result:
        print "Yes"
    else:
        print "NO!"

18.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/31'
#    __Desc__ = 按相反的顺序输出列表的值。

def reverse_print(list):
    end = len(list)-1
    while end>=0:
        print list[end]
        end-=1

# 使用系统的内建方法,分片技术
def reverse_slice(list):
    for item in list[::-1]:
        print item

def reverse(list=[]):
    reverse_list = []
    end = len(list)-1
    while end>=0:
        reverse_list.append(list[end])
        end-=1
    return reverse_list

if __name__ == "__main__":
    list = [1,2,3,4,5,6,7,8,9]
    # reverse_print(list)
    # result = reverse(list)
    # for item in result:
    #     print item,
    reverse_slice(list)

19.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/31'
#    __Desc__ = 按逗号分隔列表。

def devide_list(list):
    # 这里的str(item)必须添加,否则会导致字符串拼接的类型不匹配的异常
    return ','.join(str(item) for item in list)

if __name__ =="__main__":
    list = [1,2,3,4,5,6,7]
    print devide_list(list)

20.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/31'
#    __Desc__ = 文本颜色设置

# 类似于shell形式的编写,可以改变终端下字体的颜色,达到一个很好的变成体验的效果
class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'
print bcolors.OKGREEN + "警告的颜色字体?"+bcolors.UNDERLINE+"第二个颜色显示"

21.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/8/31'
#    __Desc__ = 将一个数组逆序输出。

def reverse_array(arr):
    left = 0
    right = len(arr)-1
    while left <=right:
        temp = arr[left]
        arr[left]= arr[right]
        arr[right]= temp

        left+=1
        right-=1
    return arr

if __name__=="__main__":
    arr = ['1',2,3,'Hello']
    arr = reverse_array(arr)
    print arr

22.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 交换两个数的值
# 其实原理都是一样的,只不过Python可以借助于tuple,元组的形式来一次性的返回多个值
# 相对于其他编程语言而言,这真的很方便

def change(a,b):
    temp = a
    a = b
    b = temp
    return a,b

def exchange(a,b):
    a,b = b,a
    return a,b

if __name__=="__main__":
    a ,b = 1,2
    print '原来的值:%d---%d'%(a,b)
    a,b = exchange(a,b)
    print '值交换后:%d---%d' % (a, b)
    c,d = change(a,b)
    print '值交换后:%d---%d' % (a, b)
    print type(change(a,b))

23.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 使用lambda来创建匿名函数。关键在于lambda表达式紧跟参数,以分号分隔后的表达式只能为算术逻辑表达式,不能有判断等语句

MAX = lambda x,y: (x>y)*x + (x<y)*y
MIN = lambda x,y: (x<y)*x + (x>y)*y
SUM = lambda x,y: x+y
SUB = lambda x,y: (x>y)*(x) + (x<y)*(y-x)
MUT = lambda x,y:(x!=0)*(x*y) or 0
DIV = lambda x,y: (x*y!=0)*(((float)(x)/(float)(y))) or "除数不能为0!"

if __name__=="__main__":
    x = 10
    y = 100
    print "MAX:",MAX(x,y)
    print "MIN:",MIN(x,y)
    print "SUM:",SUM(x,y)
    print "SUB:",SUB(x,y)
    print "SUB:" , SUB(y, x)
    print "MUT:",MUT(x,y)
    print "DIV:",DIV(x,y)
    print "DIV:" , DIV(y, x)

24.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 输出一个随机数。

from random import *

# 返回的是整数
def rand_arrange_in(a, b):
    return randint(a, b)

# 返回的不是整数
def rand_uniform(a, b):
    return uniform(a, b)

if __name__ == "__main__":
    start = 10
    end = 28
    print "---------------单个数字-------------------------"
    print "random int:%d" % rand_arrange_in(start, end)
    print "random uniform:%d" % rand_uniform(start, end)
    print "---------------多个数字-------------------------"
    print "random int:\n"
    for item in range(0, 10):
        print rand_arrange_in(start, end),
    print "\nrandom uniform:"
    for item in range(0, 10):
        print rand_uniform(start, end),

25.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 取一个整数a从右端开始的4〜7位。
# 原文的例子是不正确的
"""if __name__ == '__main__':
    a = int(raw_input('input a number:\n'))
    b = a >> 4
    c = ~(~0 << 4)
    d = b & c
    print '%o\t%o' %(a,d)
"""

# 将所给的数字分解,取后四位
def split1(number):
    number = str(number)
    result = []
    length = len(number)-1
    index = length-3
    while index<=length:
        result.append(number[index])
        index+=1
    return ''.join(char for char in result)

def split2(number):
    # if type(number) == 'str':
    #     return number[0]
    # else:
        return int(number) % (10000)

if __name__ == "__main__":
    number = 1234567890
    print split1(number)

    print split2(number)
    str_num = str(1234567)
    print split2(str_num)

26.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 使用Tkinter画同心圆

def circle(width=800,height=600,bg='green'):
    from Tkinter import *
    # 确定画布信息
    canvas = Canvas(width=width,height=height,bg=bg)
    canvas.pack(expand=YES,fill=BOTH)

    k = 1
    j = 1
    # 确定圆的个数
    for index in range(0,32):
        # 画圆需要提供的参数信息
        canvas.create_oval(width/2-k,height/2-k,width/2+k,height/2+k,width=1)
        k+=j
        j+=0.5
    mainloop()

if __name__ =="__main__":
    circle(1080,720,'purple')

27.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 打印出杨辉三角形(要求打印出10行)。  
# 本例为原题答案,非原创

if __name__ == '__main__':
    a = []
    for i in range(10):
        a.append([])
        for j in range(10):
            a[i].append(0)
    for i in range(10):
        a[i][0] = 1
        a[i][i] = 1
    for i in range(2,10):
        for j in range(1,i):
            a[i][j] = a[i - 1][j-1] + a[i - 1][j]
    from sys import stdout
    for i in range(10):
        for j in range(i + 1):
            stdout.write(str(a[i][j]))
            stdout.write(' ')
        print

28.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 查找字符串。  

# 返回第一次出现该子字符串的位置,从零开始计数
def find(full_str,sub_str):
    return full_str.find(sub_str)

# 采用自定义的"哈希算法",其实就是朴素的KMP算法实现。
# 本来是想把full_str改装成多个长度和sub_str的字符串相等长度的数组来计算其哈希和,相等的话作进一步的判断,但是Python实现起来略显复杂
def kmp(full_str,sub_str):
    sub_length = len(sub_str)
    full_length= len(full_str)

    for item in range(0,full_length-sub_length):
        # 设置 判断令牌
        flag = False
        # 对每一个子串进行验证
        for validate in range(0,sub_length):
            if full_str[item+validate]==sub_str[validate]:
                flag=True
            else:
                flag = False
            # 如果令牌为真,且长度刚好验证到sub_str的全部长度
            if flag and validate==sub_length-1:
                return item

if __name__=="__main__":
    full = "I am a handsome boy"
    sub = " a"
    print find(full,sub)
    print kmp(full,sub)

29.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

#
def swap(arr):
    max_index = 0
    min_index = 0
    max = arr[0]
    min = arr[0]
    for item in range(len(arr)):
        if max<arr[item]:
            max = arr[item]
            max_index = item
        if min > arr[item]:
            min = arr[item]
            min_index = item
    max,arr[0] = arr[0],max
    min,arr[len(arr)-1] = arr[len(arr)-1],min
    return arr

if __name__ =="__main__":
    arr = [1,2,3,4,5,6,7,8,9]
    print'交换前:',arr
    print '交换后:',swap(arr)

30.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

# 将后面的M个数字全部转到前面,且顺序保持不变。利用了列表的分片操作
def shift_right(ls,number):
    temp = ls[len(ls)-number:]
    ls = ls[0:len(ls)-number]
    for item in range(0,len(ls)):
        temp.append(ls[item])
    return temp

if __name__ == '__main__':
    ls = [1,2,3,4,5,6,7]
    print shift_right(ls,3)

31.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 809*??=800*??+9*??+1 其中??代表的两位数,
# 8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

if __name__ == '__main__':
    a = 809
    for i in range(10, 100):
        b = i * a + 1
        if b >= 1000 and b <= 10000 and 8 * i < 100 and 9 * i >= 100:
            print b, '/', i, ' = 809 * ', i, ' + ', b % i

32.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 某个公司采用公用电话传递数据,数据是四位的整数,
# 在传递过程中是加密的,加密规则如下:每位数字都加上5,
# 然后用和除以10的余数代替该数字,再将第一位和第四位交换,
# 第二位和第三位交换。

def decode(number):
    ge = number%10
    shi = (number%100-ge)/10
    bai = (number%1000-10*shi-ge)/100
    qian = number/1000
    ge,shi,bai,qian= (ge+5)%10,(shi+5)%10,(bai+5)%10,(qian+5)%10
    qian,ge = ge,qian
    bai,shi = shi ,bai
    return qian*1000+bai*100+shi*10+ge

if __name__ == '__main__':
    number = 1221
    print decode(number)

33.py

# coding:utf-8
import sys

reload(sys)
sys.setdefaultencoding('utf8')
#    __author__ = '郭 璞'
#    __date__ = '2016/9/1'
#    __Desc__ = 列表转换为字典。

# 系统内置的实现,也即是一个列表对应一个字典项,所以长度当且仅当为2!!!
def build_in(ls_key,ls_value):

    # 列表项中的元素数据至多为2两个
    # print dict([ls_value, ls_key])
    return dict([ls_key,ls_value])

# 自定义的实现,key集合匹配value集合实现列表转字典
def my_translator(ls_key,ls_value):
    if len(ls_key)!=len(ls_value):
        print "键值对的长度不匹配!"
        exit(0)
    dict = {}
    for item in range(len(ls_key)):
        dict[ls_key[item]]=ls_value[item]
    return dict

if __name__ == '__main__':
    ls_key = ['x', 'y']
    ls_value = [1, 2]
    print build_in(ls_key,ls_value)
    ls_key.append('z')
    ls_value.append(3)
    print my_translator(ls_key,ls_value)

总结

案例很简单,但是确实是编程思想的深刻的体现,做完这些小例子,方能感受到基础知识的重要性。

千万不要以为某些东西简单而一掠而过,否则还是会花费更多时间!

熟悉Python的各种基础小算法的更多相关文章

  1. 小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码)

    小姐姐带你一起学:如何用Python实现7种机器学习算法(附代码) Python 被称为是最接近 AI 的语言.最近一位名叫Anna-Lena Popkes的小姐姐在GitHub上分享了自己如何使用P ...

  2. 深度学习入门者的Python快速教程 - 基础篇

      5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...

  3. Python机器学习笔记 K-近邻算法

    K近邻(KNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一. 所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表.KNN算法的 ...

  4. [转]python与numpy基础

    来源于:https://github.com/HanXiaoyang/python-and-numpy-tutorial/blob/master/python-numpy-tutorial.ipynb ...

  5. Python --深入浅出Apriori关联分析算法(二) Apriori关联规则实战

    上一篇我们讲了关联分析的几个概念,支持度,置信度,提升度.以及如何利用Apriori算法高效地根据物品的支持度找出所有物品的频繁项集. Python --深入浅出Apriori关联分析算法(一) 这次 ...

  6. Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)

    Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...

  7. Python开发(一):Python介绍与基础知识

    Python开发(一):Python介绍与基础知识 本次内容 一:Python介绍: 二:Python是一门什么语言 三:Python:安装 四:第一个程序 “Hello world” 五:Pytho ...

  8. python机器学习笔记:EM算法

    EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域的基础,比如隐式马尔科夫算法(HMM),LDA主题模型的变分推断算法等等.本文对于E ...

  9. 一篇夯实一个知识点系列--python实现十大排序算法

    写在前面 排序是查找是算法中最重要的两个概念,我们大多数情况下都在进行查找和排序.科学家们穷尽努力,想使得排序和查找能够更加快速.本篇文章用Python实现十大排序算法. 干货儿 排序算法从不同维度可 ...

随机推荐

  1. hibernate--HelloWorld

    本次学习版本:hibernate-release-5.2.6.Final,要求java 1.8 和JDBC 4.2. hibernate是一个开放源代码的对象关系映射框架.对JDBC进行了非常轻量的封 ...

  2. [SDOI 2009]HH的项链

    Description HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝 壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH不断地收集新的贝壳,因此,他的项链变得 ...

  3. [HNOI2015]菜肴制作

    题目描述 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1. 由于菜肴 ...

  4. C++Primer学习——函数

    编译器能以任意顺序对形参进行求值 函数的返回类型不能是数组类型和函数类型. 函数开始时为形参分配内存,一旦函数结束,形参也就被销毁了. 如果弄成静态局部变量,那么回到程序终止结束时才被销毁. void ...

  5. 51Nod 1196 字符串的数量

    用N个不同的字符(编号1 - N),组成一个字符串,有如下要求: (1) 对于编号为i的字符,如果2 * i > n,则该字符可以作为结尾字符.如果不作为结尾字符而是中间的字符,则该字符后面可以 ...

  6. Java多线程基础总结

    一.线程和进程关系 二.创建方式1.继承Thread类,重写run方法2.实现Runable接口,重写run方法3.使用匿名内部类 三.API接口start()currentThread() 获取当前 ...

  7. P2P技术概要

          P2P(Peer to Peer)也就是 对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构[1]  ,是对等计算模型在应用层形成的一种组网或网络 ...

  8. Redis实现单点登录

    http://blog.csdn.net/WuCourage/article/details/77802812

  9. 正确在遍历中删除List元素

    最近在写代码的时候遇到了遍历时删除List元素的问题,在此写一篇博客记录一下. 一般而言,遍历List元素有以下三种方式: 使用普通for循环遍历 使用增强型for循环遍历 使用iterator遍历 ...

  10. HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)

    IE8报错误: 用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .N ...