跟踪我的代码,它似乎是一个连续的循环

时间:2014-10-28 16:31:35

标签: python loops

所以我正在尝试编写一个带正数,负数的程序,然后在输入0后在结尾显示它们,

pos1=0
neg1=0
all1=0
flt1=float(raw_input("enter a non-zero floating point number (decimals): "))
while(flt1!=0.0):
   if (flt1 < 0.0):
        neg1=neg1+flt1
        all1=all1+flt1
  elif(flt1 > 0.0):
        pos1=pos1+flt1
        all1+all1+flt1
print "the sum of all numbers entered is ",all1,"the sum of all positive numbers are ",pos1,
print "and the sum of all negitive numbers are ",neg1,

我的问题是,当我实际追踪它时,(如果我说5.0并追踪它),我发现它被卡在&#34; elif&#34;部分代码并没有实际回来要求另一个号码。我一直试图弄清楚我需要做些什么让它回来并要求另一个非零数字。我的目标是让用户保持输入数字直到他/她输入0然后它将采取所有负面并将它们加在一起并显示它们,然后对正面做同样的事情然后显示整个总和(negs和pos)所以远进0作品,但没有别的

编辑:在elif循环上修复缩进

1 个答案:

答案 0 :(得分:0)

只需将flt1=...行放入循环中。

另外,你通常应该避免浮点相等比较,尽管零是可以的。

你应该使用空格(n = 72 + 61 * x,而不是n=72+61*x)。

伪代码:

while True:
    num = input
    if num > 0.0:
        do_stuff()
    elif num < 0.0:
        do_neg_stuff()
    else:
        break