Python while循环不继续

2024-05-14 21:42:40 发布

您现在位置:Python中文网/ 问答频道 /正文

程序应不断要求用户输入标题并进行审阅,同时回答“是否要继续(Y/N)”是Y。它只询问用户一次。有人能帮我找出循环不继续的原因吗。谢谢!你知道吗

#!/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()

Tags: 用户selfinputrawreturntitlemaindef
1条回答
网友
1楼 · 发布于 2024-05-14 21:42:40

“return 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

相关问题 更多 >

    热门问题