在我的代码中添加while循环,以重新运行程序或根据用户输入终止[Python 2.7]

时间:2015-03-05 07:11:05

标签: python while-loop

我目前正在尝试向我的代码添加while循环,如下所示。我试图做的理论如下:

正如您在我的代码的最底部所看到的,我确认用户的预订并询问他/她是否想要创建另一个。如果用户输入'yes',我希望程序重新运行。如果没有,那么程序应该终止。我知道实现这个的最好方法是使用while循环,但我有一点点执行此操作时遇到困难,因为我的教科书在这个问题上有点混乱。

我知道它应该看起来像这样(或类似的东西):

while True:
expression
break

虽然我似乎无法编译。有什么建议?以下是我的代码:

user_continue = str(raw_input("Your reservation was submitted successfully.  Would you like to do another?"))

if user_continue != 'yes':

print('Thank you for flying with Ramirez Airlines!')

1 个答案:

答案 0 :(得分:1)

这是一个简单的示例,展示了如何使用while循环:

import time

while True:
    print time.ctime()
    print 'Doing stuff...'
    response = raw_input('Would you like to do another? ')
    if response != 'yes':
        break

print 'Terminating'

请注意,while循环中的代码必须缩进,与第一个代码块中的代码不同。在Python中,缩进非常很重要。请始终确保您的问题(和答案)中的代码正确缩进。

FWIW,raw_input()输入函数返回一个字符串,因此str(raw_input())是不必要的混乱。


代码的结尾应该类似于:

user_continue = raw_input("Your reservation was submitted successfully.  Would you like to do another?")    
if user_continue != 'yes':
    break

print('Thank you for flying with Ramirez Airlines!')

...

您的打印陈述有点好笑。由于您使用的是Python 2.7,因此无需执行

print ('The total amount for your seats is: $'),user_people * 5180

你可以做到

print 'The total amount for your seats is: $', user_people * 5180

或者如果您希望使用Python 3样式,请将所有内容打印在括号内,如下所示:

print ('The total amount for your seats is: $', user_people * 5180)

然而,输出看起来有点乱,因为$和金额之间会有一个空格。请阅读python文档以了解如何解决这个问题。

...

此外,你的循环中有import time。不要这样做。通常,import语句应该在任何其他可执行代码之前位于脚本的顶部。