基本操作
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]