Python回顾

基本操作

sum = 0
for x in range(101):
    sum = sum + x
print(sum)
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)
L = ['Bart', 'Lisa', 'Adam']
for x in L:
    print('Hello',x)

函数

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

import math

def move(x, y, step, angle=0):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny
	
r = move(100, 100, 60, math.pi / 6)
print(r)

def quadratic(a,b,c):
    delta=b*b-4*a*c
    if a==0:
        x0=-c/b
        return x0
    elif delta<0:
        return ('此方程无解')
    elif delta==0:
        x1=x2=-b/2*a
        return x1,x2
    else:
        x1=(-b+math.sqrt(delta))/2*a
        x2=(-b-math.sqrt(delta))/2*a
        return x1,x2

a=1
b=2
c=1
print(quadratic(a,b,c))

def enroll(name, gender, age=6, city='Beijing'):
    print('name:', name)
    print('gender:', gender)
    print('age:', age)
    print('city:', city)
enroll('Bob', 'M', 7)
enroll('Adam', 'M', city='Tianjin')

def add_end(L=[]):
    L.append('END')
    return L
add_end()
add_end()
add_end()
def add_end(L=None):
    if L is None:
        L = []
    L.append('END')
    return L
add_end()
add_end()
add_end()

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
calc(1, 2)
calc()
nums = [1, 2, 3]
calc(*nums)

简单绘图

import turtle
t=turtle.Pen()
t.forward(100)
t.left(90)
t.backward(200)
t.forward(200)

文件写入

data={"a":"b","c":"d"}
import pickle
save_file=open("123.text","wb")
pickle.dump(data,save_file)
save_file.close()

线性回归的梯度求解

def loss(b,w,point):
    total=0
	for i in range(0,len(point))
	    x=point[i,0]
		y=point[i,1]
		total+=(w*x-b-y)**2
	return total
	
def iter(b,w,step,point)
    b_gradient=0
	w_gradient=0
	N=(float)len(point)
	for i in range(0,len(point))
	    x=point[i,0]
		y=point[i,1]
	    w_gradient+=2/N*(w*x-b-y)*x
		b_gradient+=2/N*(w*x-b-y)
	b_new=b-step*b_gradient
	w_new=w-step*w_gradient
	return [b_new,w_new]
	
def linear(b_ini,w_ini,times,step,point)
    b=b_ini
	w=w_ini
	for i in range(0,times)
	    [b,w]=iter(b,w,step,point)
	return [b,w]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值