MIT python 第二课最后一个例子 求整数的平方数

上图已经y=0 i=x了,下图只写了x=-4 竟然运行不出来,写全了才行  不知道为神马

 #前面三个声明仅仅是赋值声明而已

>>> y=0 >>> x=4 >>> i=x >>> while i>0 SyntaxError: invalid syntax >>> while i>0: y+=x i-=1 print(y) 4 8 12 16 >>> x=-4 >>> while i<0: y+=x i+=1 print(y) >>> >>> y=0 >>> x=-4 >>> i=x >>> while i<0: y+=x i+=1 print(y) SyntaxError: unexpected indent >>> y=0 >>> x=-4 >>> i=x >>> while i<0: y+=x i+=1 print(y) SyntaxError: multiple statements found while compiling a single statement >>> y=0 >>> x=-4 >>> i=x >>> while i<0: y+=x i+=1 print(y) -4 -8 -12 -16 >>>

 



求整数的平方数
1
>>> y=0 2 >>> x=3 3 >>> itersLeft=x 4 >>> while itersLeft>0: 5 y=y+x 6 itersLeft=itersLeft-1 7 print(y) 8 9 10 3 11 6 12 9
>>> while itersLeft>0:
    while itersLeft>0:         #while循环没改变变量值会一直循环
        print(y)

        
>>> 
x应该取个整数,那如果是负整数会怎么样:跳出循环
>>> x=-4
>>> while itersLeft>0:
    y=y+x
    itersLeft=itersLeft-1
    print(y)

>>> 
>>>  #我们知道这个程序是用来求平方数的,按理说我们可以求(-4)²即16,但程序会跳出这个循环,因此提醒:在写代码时,要明白对输入的期望,并思考下如何执行这些期望,这个例子我想确定,在进行测试前我用的是x的绝对值
我们对x的期望值是x的绝对值

>>> x=abs(-4)

或写成这样也行:
>>> x=-4 >>> x=abs(x)

>>> y=0

>>> itersLeft=x

>>> while itersLeft>0:
y=y+x
itersLeft=itersLeft-1
print(y)


4
8
12
16
>>>

>>> x=-4
>>> tiersLft=abs(x)
>>> y=0
>>> while tiersLft>0:
y=y+x
tiersLft=tiersLft-1
print(y)


-4
-8
-12
-16
>>>

 

>>> abs(x)
4

>>> x=-4
>>> x==abs(x)
False
>>> x=abs(x)
>>> x
4

>>> x=-2
>>> x=abs(x)
>>> y=0
>>> ite=x
>>> while ite>0:
y=y+x
ite=ite-1
print(y)


2
4

>>> x=-4
>>> x=abs(x)
>>> y=0
>>> ite=x
>>> while ite>0:
y=y+x
ite=ite-1
print(y)


4
8
12
16

>>> print(y)

  16
  >>> print(y)
  16
  >>>

 

posted @ 2015-06-24 13:38  hhj187  阅读(605)  评论(0编辑  收藏  举报