我创建的循环在询问要添加哪个类以及何时删除类时运行顺畅。但是每当我尝试在删除一个类之后添加一个类,程序就会结束而不是回到循环来添加一个类。我在哪里出错了。下面是代码。
RegisteredCourses=[]
Registration=raw_input('Enter A to add a course, D to drop a course and E to exit.')
while Registration=='a':
Course=raw_input('What course do you want to add?')
RegisteredCourses.append(Course)
print RegisteredCourses
Registration=raw_input('Enter A to add a course, D to drop a course and E to exit.')
while Registration=='d':
DropCourse=raw_input('What course do you want to drop?')
RegisteredCourses.remove(DropCourse)
print RegisteredCourses
Registration=raw_input('Enter A to add a course, D to drop a course and E to exit.')
while Registration=='e':
print 'bye'
答案 0 :(得分:0)
没有1个外部循环要求用户输入,有3个内部循环。这是错的。
一旦选中,该选项将永远保留,因为while
循环一旦进入,就会永远循环(条件的值不会在循环中改变)
相反,请进行无限循环并将while
更改为if/elif
,并仅提出一次问题:
RegisteredCourses=[]
while True:
Registration=raw_input('Enter A to add a course, D to drop a course and E to exit.')
if Registration=='a':
Course=raw_input('What course do you want to add?')
RegisteredCourses.append(Course)
print RegisteredCourses
elif Registration=='d':
DropCourse=raw_input('What course do you want to drop?')
RegisteredCourses.remove(DropCourse)
print RegisteredCourses
elif Registration=='e':
print 'bye'
break # exit the loop
答案 1 :(得分:0)
有效地...... Registration
作为变量并不会超出其第一个输入语句。这意味着当您开始运行此代码时,您将无法使用您提供的任何值。
由于您似乎想要类似菜单的功能,因此更简单的方法是将所有内容拆分为方法。
def add_course():
Course=raw_input('What course do you want to add?')
RegisteredCourses.append(Course)
print RegisteredCourses
# Other methods for other functions
在应用程序的主要内容中,您可以使用简单的while True
循环。
while True:
registration = raw_input('Enter A to add a course, D to drop a course and E to exit.')
if registration == 'a':
add_course()
# Other methods
if registration == 'e':
print 'bye'
break