python37讲课后习题
movies = {}print("欢迎进入鱼C影评小程序")
print("1.数据录入")
print("2.查询数据")
print("3.退出程序")
op = int(input("请输入想要的功能(1/2/3):"))
while op != 3:
if op == 1:
go = True
while go:
movie = input('请输入电影名字')
date = input('请输入日期')
directors =
actors =
scores = input('请输入电影评分')
movies =
if 'NO' == input("请问是否继续录入(YES/NO):"):
go = False
if op == 2:
name = input('请输入要查询的电影名称')
if name in movies:
print(f'电影名称为{name}')
print(f'上映日期为{movies}')
print(f"导演名单:{movies}")
print(f"演员名单:{movies}")
print(f"当前评分:{movies}")
else:
print('没有这个')
op = int(input("\n请输入想要的功能(1/2/3):"))
本帖最后由 isdkz 于 2022-12-29 11:31 编辑
因为你对 op 的赋值在循环外所以在循环中 op 的值一直不变,所以你退不出的不是内层循环,
而是外层循环,然后从外层循环又进入了内层循环
movies = {}
print("欢迎进入鱼C影评小程序")
while True:
print("1.数据录入")
print("2.查询数据")
print("3.退出程序")
op = int(input("请输入想要的功能(1/2/3):"))
if op == 3:
break
if op == 1:
go = True
while go:
movie = input('请输入电影名字')
date = input('请输入日期')
directors =
actors =
scores = input('请输入电影评分')
movies =
if 'NO' == input("请问是否继续录入(YES/NO):"):
go = False
if op == 2:
name = input('请输入要查询的电影名称')
if name in movies:
print(f'电影名称为{name}')
print(f'上映日期为{movies}')
print(f"导演名单:{movies}")
print(f"演员名单:{movies}")
print(f"当前评分:{movies}")
else:
print('没有这个') isdkz 发表于 2022-12-29 11:20
因为你对 op 的赋值在循环外所以在循环中 op 的值一直不变,所以你退不出的不是内层循环,
而是外层循环 ...
movies = {}
print("欢迎进入鱼C影评小程序")
print("1.数据录入")
print("2.查询数据")
print("3.退出程序")
op = int(input("请输入想要的功能(1/2/3):"))
while op != 3:
if op == 1:
go = True
while go:
movie = input("请输入电影名称:")
date = input("请输入上映日期:")
directors =
actors =
scores = input("请输入电影评分:")
movies =
if 'N' == input("请问是否继续录入(Y/N):"):
go = False
if op == 2:
name = input("请输入电影名称:")
if name in movies:
print(f"电影名称:{name}")
print(f"上映日期:{movies}")
print(f"导演名单:{movies}")
print(f"演员名单:{movies}")
print(f"当前评分:{movies}")
else:
print("查无此片!")
op = int(input("\n请输入想要的功能(1/2/3):"))
小甲鱼的答案不是和我写的一样嘛,为什么他的可以退出 lcy123555 发表于 2022-12-29 11:25
小甲鱼的答案不是和我写的一样嘛,为什么他的可以退出
因为第34行,他在循环里面改变了 op 的值,而你的并没有,你把最后一行放在循环外边了 isdkz 发表于 2022-12-29 11:28
因为第34行,他在循环里面改变了 op 的值,而你的并没有,你把最后一行放在循环外边了
明白了,谢谢哈
页:
[1]