while循环添加两个数字

时间:2015-03-11 19:30:43

标签: python while-loop

我想写一个非常基本的代码。 添加两个数字,然后添加用户给出的另一个数字,打印结果,请求另一个,添加到上一个结果,打印新结果。

我从那开始:

a=int(raw_input('give a number'))
b=int(raw_input('give second number'))
y=True
n=False
while input('Continue? (y/n)') != 'n':
   c = a + b
   print c
   b = int(raw_input('give another number'))

好的我已经通过你的提示更正了代码。我很感激,但它仍然没有工作。它添加两个数字,打印结果然后要求另一个添加到结果(现在它的确定)但是当你输入另一个它添加到a然后打印。 也许你看到了什么问题?

当我进入" n"它没有结束程序

3 个答案:

答案 0 :(得分:0)

我避免使用input()代替raw_input()(更安全,并且在Python 3中删除了input())。有了它,您可以使用int()float()将输入变为数字。那么你有几种可能性:

永远循环,如果转换中出现错误,则结束循环:

...
while True:
    try:
        b = int(raw_input('give another number ("x" to exit)'))
    except ValueError:
        break
    ...

或者,如果你看到一些哨兵值,就打破,例如0(方便地评价为假)。

a = 1
b = 2
while b:
    a = a + b
    print a
    b = int(raw_input('give another number'))

答案 1 :(得分:0)

在大多数编程语言中,包括Python,条件必须评估为true或false。在这种情况下,字符串"condition"将始终求值为true,因为只有空字符串计算为false。为了离开while循环,您必须首先确定停止循环所需的条件。与

while condition: pass

condition可以是if语句,也可以是可缩减为TrueFalse的对象。大多数对象(如列表,元组和字符串)在非空时评估为True,在空时评估为False。另一个常见条件是两个值之间的比较;比如

1 < 2

a is b

答案 2 :(得分:0)

您可以检查的最简单的条件是EOF(文件结束)。那就是当用户没有输入数字而只是键入回车时。

由您决定如何结束程序。因此,您还必须向他们写一条指令,例如

b=input('give another number or type <enter> to end')

我也是初学者。我知道这个解决方案很简单,但它确实有用。

a=int(raw_input('Give a number'))

while True:
    print a
    userIn = (raw_input('Give another number or <cr> to end)'))
    if not userIn:
       break
    b = int(userIn)
    a = a + b