move(n,a,b,c)可以理解为将n层的汉诺塔通过b,从a移到c
递归部分:
如果把n-1层看做整体,总共就需要三步。
1:把n-1整体移到借助c柱子,从a移到b. move(n-1,a,c,b)
2: 把最下面的圆盘借助b柱子,从a移到c. print a-->c
3: 把n-1整体移到借助a柱子,从b移到c. move(n-1,b,a,c)
递归结束部分:
n=1时,直接从a柱移到c柱
递归部分:
如果把n-1层看做整体,总共就需要三步。
1:把n-1整体移到借助c柱子,从a移到b. move(n-1,a,c,b)
2: 把最下面的圆盘借助b柱子,从a移到c. print a-->c
3: 把n-1整体移到借助a柱子,从b移到c. move(n-1,b,a,c)
递归结束部分:
n=1时,直接从a柱移到c柱
2016-07-03
def move(n, a, b, c):
if(n==1):
print a+"-->"+c
return
else:
move(n-1,a,c,b)
print a+"-->"+c
move(n-1,b,a,c)
move(4, 'A', 'B', 'C')
这个题出的可以,不过现在做感觉没那么难
新手一定要搞懂,递归经典中的经典
if(n==1):
print a+"-->"+c
return
else:
move(n-1,a,c,b)
print a+"-->"+c
move(n-1,b,a,c)
move(4, 'A', 'B', 'C')
这个题出的可以,不过现在做感觉没那么难
新手一定要搞懂,递归经典中的经典
2016-07-03
def quadratic_equation(a, b, c):
x=(-b+math.sqrt(b*b-4*a*c))/(2*a)
y=(-b-math.sqrt(b*b-4*a*c))/(2*a)
return x,y
x=(-b+math.sqrt(b*b-4*a*c))/(2*a)
y=(-b-math.sqrt(b*b-4*a*c))/(2*a)
return x,y
2016-07-03
sum = 0
x = 1
n = 1
while True:
sum = sum + x
x = x * 2
n = n + 1
if n > 20
break
print sum
为什么这样就不行了??
x = 1
n = 1
while True:
sum = sum + x
x = x * 2
n = n + 1
if n > 20
break
print sum
为什么这样就不行了??
2016-07-03
多输出一遍,第三位同学的.
L = [95.5,85,59]
print L[0]
print L[1]
print L[2]
print L[2]
L = [95.5,85,59]
print L[0]
print L[1]
print L[2]
print L[2]
2016-07-03
# -*- coding: utf-8 -*-
print '''静夜思\n\n
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。'''
print '''静夜思\n\n
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。'''
2016-07-03
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for x in L:
if x in s:
s.remove(x)
else:
s.add(x)
print s
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for x in L:
if x in s:
s.remove(x)
else:
s.add(x)
print s
2016-07-03
for x in [1,2,3,4,5,6,7,8,9]:
for y in [0,1,2,3,4,5,6,7,8,9]:
if x<y:
print x*10+y
for y in [0,1,2,3,4,5,6,7,8,9]:
if x<y:
print x*10+y
2016-07-02
sum = 0
x = 1
n = 1
while True:
sum+=x;
n+=1
if n>20:
break
x<<=1
print sum
x = 1
n = 1
while True:
sum+=x;
n+=1
if n>20:
break
x<<=1
print sum
2016-07-02