if n == 1: //1.只有一个的特殊的情况,直接移给C,结束调用
print a,'-->',c
return
move(n-1, a, c, b) //2.把a上面的n-1移动到B上
print a,'-->',c // 3.a上面的n-1个都已经在b上面了,剩1个直接移动到c
move(n-1,b , a, c) //4.最后把B上面的n-1个也想办法移动到c上面
//在移动的过程中如果在a上面的数比1大,又会调用到步骤2,或者调用步骤3,不停的调用,才是递归,我也是醉
print a,'-->',c
return
move(n-1, a, c, b) //2.把a上面的n-1移动到B上
print a,'-->',c // 3.a上面的n-1个都已经在b上面了,剩1个直接移动到c
move(n-1,b , a, c) //4.最后把B上面的n-1个也想办法移动到c上面
//在移动的过程中如果在a上面的数比1大,又会调用到步骤2,或者调用步骤3,不停的调用,才是递归,我也是醉
2016-08-21
……说公示不对的是把数学还给高中老师了吧?看不懂公示?或者用这条Sn=n*a1+n*(n-1) / 2 * 3.
- -套公式都不会还学什么编程
- -套公式都不会还学什么编程
2016-08-21
def square_of_sum(L):
num = [i*i for i in L]
print sum(num)
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
num = [i*i for i in L]
print sum(num)
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
2016-08-21
print [m*100+n*10+p for m in range(1,10) for n in range(0,10) for p in range(0,10) if m==p]
虽然麻烦点,但是题目规定了要用三层循环
虽然麻烦点,但是题目规定了要用三层循环
2016-08-21
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for i in L:
if i in s:
s.remove(i)
else:
s.add(i)
print s
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for i in L:
if i in s:
s.remove(i)
else:
s.add(i)
print s
2016-08-21
初等数学让人心很累
import math
def quadratic_equation(a, b, c):
delta = b*b - 4*a*c
if delta < 0:
return
elif delta == 0:
return (-b+math.sqrt(delta))/(2*a)
else:
return (-b+math.sqrt(delta))/(2*a),(-b-math.sqrt(delta))/(2*a)
import math
def quadratic_equation(a, b, c):
delta = b*b - 4*a*c
if delta < 0:
return
elif delta == 0:
return (-b+math.sqrt(delta))/(2*a)
else:
return (-b+math.sqrt(delta))/(2*a),(-b-math.sqrt(delta))/(2*a)
2016-08-21