在用户输入“0”后,如何退出while循环?如果用户输入任何其他内容,我希望它继续

fnvucqvd  于 2021-07-14  发布在  Java
关注(0)|答案(3)|浏览(472)

编写一个python程序,询问用户电影的名称。将输入的电影添加到列表中。继续请求电影,直到用户输入“0”。输入完所有电影后,输出电影列表,每行输出一部电影。
这就是我尝试过的:

  1. def main():
  2. movies = []
  3. while movies != 0:
  4. movie = str(input("Enter the name of a movie: "))
  5. if movie == 0:
  6. break
  7. if movie != 0:
  8. movies.append(movie)
  9. print("That's your list")
  10. print(movies)
  11. main()
vsikbqxv

vsikbqxv1#

使用 break 关键字中断 while 或者 for 循环。
buddybob给出的代码不是100%正确的,因为它将在电影列表中包含“0”(因为它是第一次附加的)。ali naqi给出的代码实际上与小写字母“o”比较。
我相信这是最好的方法:

  1. def main():
  2. movies = []
  3. while True:
  4. movie = input("Enter the name of a movie: ")
  5. if movie == "0":
  6. break
  7. else:
  8. movies.append(movie)
  9. print("That's your list")
  10. print(movies)
  11. main()
efzxgjgh

efzxgjgh2#

  1. movie = str(input("Enter the name of a movie: "))
  2. if movie == 0:
  3. break
  4. if movie != 0:
  5. movies.append(movie)

这个想法在这里是正确的。但有一个错误。您要求输入字符串,然后检查字符串输入是否为整数。尝试获取字符串输入,但将其与另一个字符串进行比较。

  1. if movie == "0":
  2. break

建议代码我把你的代码改了你的代码改得太干净了

  1. def main():
  2. movies = []
  3. while "0" not in movies:
  4. movies.append(str(input("Enter the name of a movie: ")))
  5. print("That's your list")
  6. print(movies[:-1])
  7. main()
展开查看全部
oknrviil

oknrviil3#

  1. movie = str(input("Enter the name of a movie: "))
  2. if movie == 0:
  3. break
  4. if movie != 0:
  5. movies.append(movie)

这看起来不错,但请记住,您将字符串值(movie)与整数进行比较,例如:

  1. if movie == 0: #thats the mistake . now correct one is listed below
  2. if movie == "o":
  3. break

希望你能理解。

相关问题