# 廖雪峰的官方网站 python教材 1~4章
# 格式控制符语法
print('Hello, %s' % 'world')
print('hello, %s, you have %d dollars' % ('mickael', 1000))
print('hello, {0:s}, your grade {1:.1f}%'.format('xiaoming', 17.125))
s1 = 72
s2 = 85
improve = (s2-s1)/s1 * 100
print('hello, {0:s}, your grade improved by {1:.1f}%'.format("xiaoming", improve));
# 列表 list
classmate = ['xiaoming','xiaozhao','xiaohong']
print(classmate)
print(len(classmate))
print(classmate[1])
classmate.insert(1,"Jack")
print(classmate)
classmate.pop()
print(classmate)
classmate.pop(1)
print(classmate)
classmate[1] = "Sarah"
print(classmate)
L = ['apple', 123, True]
print(L)
# 判断
age = 3
if age>= 18:
print("adult")
elif age >= 6:
print("teenager")
else:
print("kids")
print("your age is", age)
# 转换成 int
birth = input('birth: ')
birth = int(birth)
if birth < 2000:
print("00qian")
else:
print("00hou")
# 循环
sum = 0
for x in list(range(5)):
sum = sum + x
print(sum)
alphobets = ['a','b','c']
for char in alphobets:
print(char)
names = ['michael', 'bob', 'Tracy']
for name in names:
print(name)
sum = 0
i = 0
while(i<101):
sum += i
i += 1
print(sum)
L = ['Bart', 'Lisa', 'Adam']
for name in L:
print("hello, %s!" % name)
# 字典 dictionary
d = {'Michael':95, 'Bob':75, 'Tracy':85}
d['Adam'] = 67
print(d['Adma'])
# 函数
def myabs(x):
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x>=0:
return x
else:
return -x
print(myabs(111))
# 函数返回元组
import math
def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y + step * math.sin(angle)
return nx, ny
# 分别赋给每个变量
x, y = move(100,100,60,math.pi/6)
print(x,y)
def quadratic(a,b,c):
delta = b*b - 4*a*c
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
return x1, x2
print('quadratic(2, 3, 1) =', quadratic(2, 3, 1))
print('quadratic(1, 3, -4) =', quadratic(1, 3, -4))
if quadratic(2, 3, 1) != (-0.5, -1.0):
print('测试失败')
elif quadratic(1, 3, -4) != (1.0, -4.0):
print('测试失败')
else:
print('测试成功')
#def power(x):
# return x * x
# 默认参数
def power(x,n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print(power(5))
print(power(5,3))
# 可变长度参数
def clac(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
print(clac(1,2))
print(clac())
# 递归:汉诺塔
# 参数n,表示初始时,3个柱子a、b、c中第1个柱子a上的盘子数量,
# 打印出把所有盘子从A借助B移动到C的方法
def move(n, a, b, c):
if n == 1:
print(a, '-->', c)
else:
move(n-1,a,c,b)
print(a,'-->',c)
move(n-1,b,a,c)
return
move(3,'A','B','C')