Python循环不会继续
问题描述:
程序应该不断询问用户输入标题并查看“你想继续(是/否)”的答案吗?是Y.相反,它只询问用户一次。有人可以帮我弄清楚,而循环不会继续。谢谢!Python循环不会继续
#!/usr/bin/env python
def main():
listOfReviews = obtainListOfReviews()
displayResults(listOfReviews)
def obtainListOfReviews():
listOfReviews = []
carryOn ='Y'
while carryOn =='Y':
title = raw_input("Enter title:")
review = int(input("Enter review:"))
st = MovieReview(title, review)
listOfReviews.append(st)
carryOn = raw_input("Do you want to continue?(Y/N)? ")
carryOn = carryOn.upper()
return listOfReviews
def displayResults(listOfReviews):
for r in listOfReviews:
print(r)
class MovieReview:
def __init__(self, title = " ", review = 0):
self._title = title
self._review = review
def setTitle(self, title):
self._title = title
def setReview(self, review):
self._review = review
def getTitle(self):
return self._title
def getReview(self):
return self._review
def __str__(self):
return ("Title: " + str(self._title) + " \nreview: " + str(self._review))
main()
答
你有一个错误的缩进你行 “回归listOfReviews”:
def obtainListOfReviews():
listOfReviews = []
carryOn ='Y'
while carryOn =='Y':
title = raw_input("Enter title:")
review = int(input("Enter review:"))
st = MovieReview(title, review)
listOfReviews.append(st)
carryOn = raw_input("Do you want to continue?(Y/N)? ")
carryOn = carryOn.upper()
# Correct indentation
return listOfReviews
因为你'return' while循环 – JCVanHamme
你'return'是'while'环路的一部分。 Unindent它。 – Matthias
'return listOfReviews'使函数'obtainListOfReviews()'返回存储在'listOfReviews'中的值,并将其分配给'main()'中的变量'listOfReviews'。 –