|
|
发表于 2023-10-29 21:31:25
|
显示全部楼层
在这段代码中, go 是一个控制循环的布尔变量。当用户输入"N"时, go 会被设置为False,但是这个值只会在下一次循环开始时生效。在当前循环中, go 的值仍然是True,所以循环继续执行。
要解决这个问题,可以在用户输入"N"后,添加一个 break 语句来立即跳出循环。这样,即使 go 的值在下一次循环开始时被设置为False,循环也会立即终止。
以下是修改后的代码:
- print("欢迎进入鱼C影评小程序\n1.数据录入\n2.查询数据\n3.退出程序")
- op = int(input("请输入想要的功能(1/2/3):"))
- film = []
- date = []
- director = []
- rate= []
- actress = []
- while op != 3:
- if op == 1:
- go = True
- while go:
- film.append(input("请输入电影名称:"))
- date.append(input("请输入上映日期:"))
- director.append(input("请输入导演名字:"))
- actress.append(input("请输入演员名字:"))
- rate.append(input("请输入电影评分:"))
- if 'N' == input("请问是否继续录入(Y/N):"):
- go = False
- break
- if op == 2:
- search = input("请输入要查找的电影名称:")
- if search in film:
- num = film.index(search)
- print(num)
复制代码
通过添加 break 语句,当用户输入"N"时,循环会立即终止,不会再执行下一次循环。 |
|