我目前正在尝试向我的代码添加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!')
答案 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语句应该在任何其他可执行代码之前位于脚本的顶部。