我想写一个非常基本的代码。 添加两个数字,然后添加用户给出的另一个数字,打印结果,请求另一个,添加到上一个结果,打印新结果。
我从那开始:
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"它没有结束程序
答案 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
语句,也可以是可缩减为True
或False
的对象。大多数对象(如列表,元组和字符串)在非空时评估为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