首先,理解参数的意义,move(n, a, b, c) 可以理解为把“n”个盘,从 “a”通过“b”移动到“c”,print a,'-->',c;
假设,只有一个盘,直接从“a”移动到“c”;
假设,不只一个盘,先把前 n-1 个盘从“a”移动到“b”,中间使用了“c”,所以函数为 move(n-1,a, c, b),最后再移动第 n 个 盘到“c”
所以有,print a,'-->',c,接下来再从“b”移动到“c”,中间使用了“a”,所以函数为 move(n-1,b, a, c);
假设,只有一个盘,直接从“a”移动到“c”;
假设,不只一个盘,先把前 n-1 个盘从“a”移动到“b”,中间使用了“c”,所以函数为 move(n-1,a, c, b),最后再移动第 n 个 盘到“c”
所以有,print a,'-->',c,接下来再从“b”移动到“c”,中间使用了“a”,所以函数为 move(n-1,b, a, c);
2016-05-05
前面是对a,b分别进行赋值,在print运算中在进行判断。由于Python只把0,空字符串''和None看成FALSE,再结合and 和 or的特性,得出当前结果
2016-05-05
import math
def quadratic_equation(a, b, c):
p = b*b - 4*a*c
if p >= 0:
x1 = (-b+math.sqrt(p))/(2*a)
x2 = (-b-math.sqrt(p))/(2*a)
return x1, x2
else:
return none
print quadratic_equation(2, 3, 0)
print quadratic_equation(1, -6, 5)
def quadratic_equation(a, b, c):
p = b*b - 4*a*c
if p >= 0:
x1 = (-b+math.sqrt(p))/(2*a)
x2 = (-b-math.sqrt(p))/(2*a)
return x1, x2
else:
return none
print quadratic_equation(2, 3, 0)
print quadratic_equation(1, -6, 5)
2016-05-05
sum=0
x=0
while True:
x=x+1
ifx>100:
break
if x%2!=0:
contine
sum+=x
print sum
x=0
while True:
x=x+1
ifx>100:
break
if x%2!=0:
contine
sum+=x
print sum
2016-05-05
print [100*n1 + 10*n2 + n1 for n1 in range(1,10) for n2 in range(0,10)] n3可以直接n1代替可以省一层循环,不知老师是不是可以为之
2016-05-05
网页上面只能去掉u,去注释都没用。我本地的27,可以去掉注释也可以不去掉,但是不能去掉u。所以是版本兼容性问题?
ps:解释说编码冲突的同学建议去google一下(百度一下会死啊?会。)
ps:解释说编码冲突的同学建议去google一下(百度一下会死啊?会。)
2016-05-04
def square_of_sum(L):
sum=0
for x in L
sum+=L[x]**2
return sum
return sum
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
错在哪,求大神赐教
sum=0
for x in L
sum+=L[x]**2
return sum
return sum
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
错在哪,求大神赐教
2016-05-04