鱼C论坛

 找回密码
 立即注册
查看: 3656|回复: 12

关于作业16疑问

[复制链接]
发表于 2015-11-26 10:21:31 | 显示全部楼层 |阅读模式
4鱼币
请教能不用新增一个 IsFind的参数 而改用 else 实现 如下 代码

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

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

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-11-26 15:21:52 | 显示全部楼层
你改改看是否可行?

自动动手试试哈~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-11-26 16:16:10 | 显示全部楼层
小甲鱼 发表于 2015-11-26 15:21
你改改看是否可行?

自动动手试试哈~



score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]

while True:
        name = input('please input:')
        for each in score:
                if name in each:
                        print(name+'的得分是:',each[1])
                        break
                elif each not in score:
                        print('输入有误!')       



改了 逻辑还是有问题啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-11-26 18:03:34 | 显示全部楼层
score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]

while True:
        name = input('please input:')
        for each in score:
                if name in each:
                        print(name+'的得分是:',each[1])
                        break
                else:
                        print('输入有误!')  

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5 感谢楼主无私奉献!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-11-27 09:34:29 | 显示全部楼层
John_farmer 发表于 2015-11-26 18:03
score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]

while True:
...

跑了下,有问题,thanks all the time
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-11-27 11:56:24 | 显示全部楼层
birlyjer 发表于 2015-11-27 09:34
跑了下,有问题,thanks all the time

score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]

while True:
    name = input('please input:')
    for each in score:
        if name in each:
            print(name+'的得分是:',each[1])
            break
        elif name != each[0] and each == score[len(score)-1]:
            print('输入有误!')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-11-27 12:43:00 | 显示全部楼层
厉害哈
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-5 13:11:17 | 显示全部楼层
这个想法不错,对知识的学习是现提出自己的疑问,向你学习!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-6 20:16:42 | 显示全部楼层
本帖最后由 FDMa 于 2015-12-6 20:20 编辑

换了个思路,不知道好不好
  1. score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]
  2. score = str(score)
  3. name = '迷途'
  4. a = score.find(name)
  5. if a:
  6.         fenshu = score.index(',',a)+1
  7.         print(name + '的得分是:',score[fenshu:fenshu+3])
  8. else:
  9.         print('查找的数据不存在!')
  10. 迷途的得分是:  85
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-19 21:29:40 | 显示全部楼层
IsFind = False

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



>>>
请输入待查找的用户名:迷途
迷途的得分是: 85
>>> ================================ RESTART ================================
>>>
请输入待查找的用户名:途途
查找的数据不存在!
>>>
演显如上,希望能帮到你哈^^
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-22 08:33:30 | 显示全部楼层
本帖最后由 farewellpoem 于 2015-12-22 08:34 编辑
欣欣celin 发表于 2015-12-19 21:29
IsFind = False

for each in score:


if else不在一个行段上,else呀缩进的吧。。
好吧,我看错了,应该是可以的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-23 15:40:13 | 显示全部楼层
farewellpoem 发表于 2015-12-22 08:33
if else不在一个行段上,else呀缩进的吧。。
好吧,我看错了,应该是可以的

这是for 和 else的组合用法,后面的课程会讲到:smile
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-23 18:45:39 | 显示全部楼层
欣欣celin 发表于 2015-12-23 15:40
这是for 和 else的组合用法,后面的课程会讲到

en ,是的,我给忘了,后来想起来了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-1 03:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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