我的作业声明......
创建一个条件looop,它将要求用户输入两个数字。应添加数字并显示总和。循环还应询问用户他或她是否希望再次执行操作。如果是这样,循环应该重复,否则循环应该终止。
这就是我想出来的......
n1=input('Please enter your first number: ')
print "You have entered the number ",n1,""
n2=input('Pleae enter your second number: ')
print "You have entered the number ",n2,""
total=n1+n2
print "I will now add your numbers together."
print "The result is:",total
y = raw_input('Would you like to run the program again? y=yes n=no')
print'The program will now terminate.'
y='y'
while y=='y':
print 'The program will start over.'
当你运行它时,程序的第一部分会起作用,但当它要求你再次运行时,它会不断地说“程序将重新开始。”
如何允许用户输入或不输入他们想要启动程序,我该怎么说这个以便循环?
答案 0 :(得分:4)
您已将循环置于错误的位置。需要做这样的事情:
y = 'y'
while y == 'y':
# take input, print sum
# prompt here, take input for y
首先,y的值为'y',因此它将进入循环。在第一次输入后设置提示用户再次输入y。如果他们输入'y',那么循环将再次执行,否则它将终止。
另一种方法是进行无限循环,并在输入“y”以外的任何内容时断开。像这样的东西
while True:
# take input, print sum
# prompt here, take input for y
# if y != 'y' then break
答案 1 :(得分:1)
您需要将while y=='y'
放在脚本的开头。
即使我不打电话给y
一个可能是'n'
或'y'
的变量,
例如:
def program():
n1 = input('Please enter your first number: ')
print "You have entered the number ",n1,""
n2 = input('Pleae enter your second number: ')
print "You have entered the number ",n2,""
total = n1+n2
print "I will now add your numbers together."
print "The result is:",total
flag = True
while flag:
program()
flag = raw_input('Would you like to run the program again? [y/n]') == 'y'
print "The program will now terminate."
即使应该这样说,如果用户插入任何不是'y'
的内容,你也会终止程序。