鱼C论坛

 找回密码
 立即注册
查看: 3316|回复: 3

列表查找的问题,课后题求助

[复制链接]
发表于 2019-10-4 11:16:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

name = input('请输入待查找的用户名:')
score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]

i=1
for each in score:
    if name == each[0]:
        print(name + '的得分是:', each[1])
        break
    else:
        i+=1
   
if i==len(score):
    print('查找的数据不存在!')


我的思路是想for循环挨个找过去,都不匹配的话就打印  ‘查找的数据不存在!'   但是代码跑不起来,求助一下哥哥们错在哪
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-10-4 11:20:58 | 显示全部楼层
本帖最后由 zltzlt 于 2019-10-4 11:32 编辑

程序有 BUG,应该这样改:
  1. name = input('请输入待查找的用户名:')
  2. score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]

  3. i = 1
  4. for each in score:
  5.     if name == each[0]:
  6.         print(name + '的得分是:', each[1])
  7.         break
  8.     else:
  9.         i += 1

  10. if i - 1 == len(score):
  11.     print('查找的数据不存在!')
复制代码

将第 12 行的 i 改成 i - 1。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-4 11:24:04 | 显示全部楼层
1会加出范围,你从0开始数就行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-4 12:45:02 | 显示全部楼层
本帖最后由 XiaoPaiShen 于 2019-10-4 12:46 编辑
  1. name = input('请输入待查找的用户名:')
  2. score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]

  3. is_found = False        # 初始值设为False, 表示没找到
  4. for each in score:
  5.     if name == each[0]:
  6.         print(name + '的得分是:', each[1])
  7.         is_found = True        # 找到了设为True
  8.         break
  9.    
  10. if not is_found:
  11.     print('查找的数据不存在!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 18:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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