鱼C论坛

 找回密码
 立即注册
查看: 4648|回复: 2

代求助

[复制链接]
发表于 2023-10-29 21:31:25 | 显示全部楼层
在这段代码中, go 是一个控制循环的布尔变量。当用户输入"N"时, go 会被设置为False,但是这个值只会在下一次循环开始时生效。在当前循环中, go 的值仍然是True,所以循环继续执行。

要解决这个问题,可以在用户输入"N"后,添加一个 break 语句来立即跳出循环。这样,即使 go 的值在下一次循环开始时被设置为False,循环也会立即终止。

以下是修改后的代码:

  1. print("欢迎进入鱼C影评小程序\n1.数据录入\n2.查询数据\n3.退出程序")
  2. op = int(input("请输入想要的功能(1/2/3):"))
  3. film = []
  4. date = []
  5. director = []
  6. rate= []
  7. actress = []

  8. while op != 3:
  9.     if op == 1:
  10.         go = True
  11.         while go:
  12.             film.append(input("请输入电影名称:"))
  13.             date.append(input("请输入上映日期:"))
  14.             director.append(input("请输入导演名字:"))
  15.             actress.append(input("请输入演员名字:"))
  16.             rate.append(input("请输入电影评分:"))

  17.             if 'N' == input("请问是否继续录入(Y/N):"):
  18.                 go = False
  19.                 break

  20.     if op == 2:
  21.         search = input("请输入要查找的电影名称:")
  22.         if search in film:
  23.             num = film.index(search)
  24.             print(num)
复制代码


通过添加 break 语句,当用户输入"N"时,循环会立即终止,不会再执行下一次循环。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-1 17:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表