鱼C论坛

 找回密码
 立即注册
查看: 2711|回复: 5

[已解决]16讲的测试题,有关for循环,不能退出循环的原因

[复制链接]
发表于 2016-3-14 12:09:16 | 显示全部楼层 |阅读模式

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

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

x
  1. name = raw_input('请输入要查找的用户名:')
  2. score = [['迷途',85],['刚果',80],['巴基斯坦',60],['印度',42]]
  3. for each in score:
  4.     if name==each[0]:
  5.         print name,  each[1]
  6.         break

  7.     else:
  8.         print '你查找的用户不存在'
复制代码



小甲鱼老师的提示答案中IsFind的只是为了判断的吗?不知道跟输入的名字有哪些关联?
  1. name = raw_input('请输入要查找的用户名:')
  2. score = [['迷途',85],['黑夜',80],['小布丁',65],['福禄娃娃',95],['怡静',90]]
  3. IsFind = False

  4. for each in score:
  5.     if name in each:
  6.         print name + '的得分是:',  each[1]
  7.         IsFind = True
  8.         break
  9. if IsFind == False:
  10.     print '你查找的用户不存在'
复制代码
最佳答案
2016-3-14 12:18:44
IsFind的只是为了判断,如果输入的名字在score列表中则其值变为True。
其实利用for循环的else语句,程序也可以这样写:
  1. name = input('请输入要查找的用户名:')
  2. score = [['迷途',85],['黑夜',80],['小布丁',65],['福禄娃娃',95],['怡静',90]]


  3. for each in score:
  4.     if name in each:
  5.         print( name + '的得分是:',  each[1])

  6.         break
  7. else:
  8.     print( '你查找的用户不存在')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-14 12:18:44 | 显示全部楼层    本楼为最佳答案   
IsFind的只是为了判断,如果输入的名字在score列表中则其值变为True。
其实利用for循环的else语句,程序也可以这样写:
  1. name = input('请输入要查找的用户名:')
  2. score = [['迷途',85],['黑夜',80],['小布丁',65],['福禄娃娃',95],['怡静',90]]


  3. for each in score:
  4.     if name in each:
  5.         print( name + '的得分是:',  each[1])

  6.         break
  7. else:
  8.     print( '你查找的用户不存在')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-14 12:26:20 | 显示全部楼层
如果把score列表转置一下,程序更简单:
  1. name = input('请输入要查找的用户名:')
  2. score = [['迷途', '黑夜', '小布丁', '福禄娃娃', '怡静'], [85, 80, 65, 95, 90]]
  3. if name in score[0]:
  4.     print(name + '的得分是:',  score[1][score[0].index(name)])
  5. else:
  6.     print ('你查找的用户不存在')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-3-14 18:55:25 | 显示全部楼层
冬雪雪冬 发表于 2016-3-14 12:18
IsFind的只是为了判断,如果输入的名字在score列表中则其值变为True。
其实利用for循环的else语句,程序也 ...

原来是我的缩进有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-14 18:56:53 | 显示全部楼层
冬雪雪冬 发表于 2016-3-14 12:18
IsFind的只是为了判断,如果输入的名字在score列表中则其值变为True。
其实利用for循环的else语句,程序也 ...

原来是我的缩进有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-14 19:13:01 | 显示全部楼层
冬雪雪冬 发表于 2016-3-14 12:26
如果把score列表转置一下,程序更简单:

对哟,没想到
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-20 05:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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