所以我正在尝试编写一个带正数,负数的程序,然后在输入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循环上修复缩进
答案 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