爱笑的无赖 发表于 2022-5-5 12:18:34

各位老师, 关于036字典的作业 能帮我看一下吗!!

1. 请使用学过的知识,编写一个存储电影数据的小程序
需要存放的数据如下:
电影名称
上映时间
导演(可能有多人)
主演(通常有多人)
电影评分

------------------------
我的作业是这下面这样子的。但是遇到了一个问题。

#界面
GI = '''欢迎进入鱼C影评小程序\n1.数据录入\n2.查询数据\n3.退出程序'''
print(GI)
# order = int(input('请输入想要的功能(1/2/3):'))

#参数
name = []
date = []
dircter = []
actor = []
rate = []
c = 'Y'
_ = ''
order = 0

while order !=3:
    order = int(input('请输入想要的功能(1/2/3):'))
    if order == 1:
            while c != 'N':
                  name.append(input('请输入电影名称:'))
                  date.append(input('请输入上映时间:'))
                  dircter.append(input('请输入导演名字(多人请用 / 分隔):'))
                  actor.append(input('请输入演员名字(多人请用 / 分隔)'))
                  rate.append(input('请输入电影评分:'))
                  
                  c = input('请问是否继续录入(Y/N):')
    elif order == 2:
            _ = input('请输入电影名称:')
            for i in range(len(name)):
                  if _ in name:
                        print(f'电影名称:{name} \n上映时间:{date}\n导演名单:[{dircter}]\n演员名单:{actor}\n当前评分:{rate}')
                  break
            else:
                print('查无此片!')
    elif order == 3:
      break

    else:
      print('输入有误!')


------------------------------
遇到了个问题。 就是查询功能这一块, 如果我运行代码后不录入任何信息, 直接跳到2选项,然后随便输入一个不存在的名字, 它会跳出 “查无此片”
但是如果我先录入信息, 然后再跳到2选项输入一个错误的名字。 它不会跳出“查无此片”
这是为什么呢?
求解答! kiss kiss!{:10_266:}

isdkz 发表于 2022-5-5 12:26:21

第 31 行,break 应该缩进 if 里面
GI = '''欢迎进入鱼C影评小程序\n1.数据录入\n2.查询数据\n3.退出程序'''
print(GI)
# order = int(input('请输入想要的功能(1/2/3):'))

#参数
name = []
date = []
dircter = []
actor = []
rate = []
c = 'Y'
_ = ''
order = 0

while order !=3:
    order = int(input('请输入想要的功能(1/2/3):'))
    if order == 1:
            while c != 'N':
                  name.append(input('请输入电影名称:'))
                  date.append(input('请输入上映时间:'))
                  dircter.append(input('请输入导演名字(多人请用 / 分隔):'))
                  actor.append(input('请输入演员名字(多人请用 / 分隔)'))
                  rate.append(input('请输入电影评分:'))
                  
                  c = input('请问是否继续录入(Y/N):')
    elif order == 2:
            _ = input('请输入电影名称:')
            for i in range(len(name)):
                  if _ in name:
                        print(f'电影名称:{name} \n上映时间:{date}\n导演名单:[{dircter}]\n演员名单:{actor}\n当前评分:{rate}')
                        break                                       # 这里缩进错误
            else:
                print('查无此片!')
    elif order == 3:
      break

    else:
      print('输入有误!')

爱笑的无赖 发表于 2022-5-5 14:07:56

isdkz 发表于 2022-5-5 12:26
第 31 行,break 应该缩进 if 里面

{:5_104:} 我真是个大傻逼....
页: [1]
查看完整版本: 各位老师, 关于036字典的作业 能帮我看一下吗!!