鱼C论坛

 找回密码
 立即注册
查看: 2105|回复: 6

[已解决]python 课后作业16讲的疑问

[复制链接]
发表于 2020-10-15 23:13:32 | 显示全部楼层 |阅读模式

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

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

x

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('查找的数据不存在!')

修改代码,要求当用户查找的用户名不存在时,重复获取用户输入
最佳答案
2020-10-15 23:37:29
可以使用while循环,限制IsFind == False重复这个循环就可以啦,代码如下
IsFind = False
while IsFind == False:
    name = input('请输入待查找的用户名:')
    score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]


    for each in score:
        if name in each:
            print(name + '的得分是:', each[1])
            IsFind = True
            break
        
    if IsFind == False:
        print('查找的数据不存在!')
效果如下
微信截图_20201015233402.png 微信截图_20201015233420.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-15 23:36:28 | 显示全部楼层
print('本程序支持重复执行,输入“exit”即可退出程序')
while True:
    name = input("代码省略自己写")
    #输入完检测是否输入了程序退出指令,不加退出指令则程序只能点叉关掉,不科学
    if name == "exit":
        break
    #后面复制你的代码
    #查找数据不存在后,使用“continue”,让程序循环执行即可
    print("查找的数据不存在")
    continue
   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-15 23:37:29 | 显示全部楼层    本楼为最佳答案   
可以使用while循环,限制IsFind == False重复这个循环就可以啦,代码如下
IsFind = False
while IsFind == False:
    name = input('请输入待查找的用户名:')
    score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]


    for each in score:
        if name in each:
            print(name + '的得分是:', each[1])
            IsFind = True
            break
        
    if IsFind == False:
        print('查找的数据不存在!')
效果如下
微信截图_20201015233402.png 微信截图_20201015233420.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-15 23:44:23 | 显示全部楼层
你这是整句话疑问,不懂其中的表示啥的吗

也就是当用户输入一个不存在的名字, 他就会放回叫你重新输入一次,一直输入不正确一直返回,除非添加一个输出几次错误自动退出,

直接加一个判断就好了,判断输入名字是否存在对象 score中,不存在则返回重新输入,在添加一个输入几次就会退出的条件,count加一个计数的就好
name = input("请输入带查找的用户名:")
score =  [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]
conut = 4  # 计数器,用来停止循环
IsFind = False  # 就是False 
while conut != 1: 
    
    for each in score:   # 遍历score 对象
        if name in each: # 判断each(也就是score对象每个元素拿出来查找对比输入的值存不存在)有的话打印出来然后跳出循环
            print(name + '的得分是:',each[1])
            IsFind = True  # 这里对象变成了True 所以下面的代码将不会执行,直接跳出循环,结束
            conut = 1 # 直接等于1,跳出循环



    if IsFind == False:    # 如果没有,则让用户接着输入,循环到计数器等于1就会退出循环 
        print("查找的数据不存在")
        conut -= 1
        print("请在次输入待查找的用户名,您还有%s次机会"%conut)
        name = input('请输入:')  

我也是新手,代码写的有点差
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-15 23:46:38 | 显示全部楼层
好家伙,来晚了一点,没了最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-10-15 23:57:14 | 显示全部楼层
qq1484730945 发表于 2020-10-15 23:44
你这是整句话疑问,不懂其中的表示啥的吗

也就是当用户输入一 ...

你的回答也很有帮助谢谢,我是小白,唉一个脑筋没转过来,对whlie循环理解不深刻
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-16 00:05:39 | 显示全部楼层
小森2020 发表于 2020-10-15 23:57
你的回答也很有帮助谢谢,我是小白,唉一个脑筋没转过来,对whlie循环理解不深刻

多做作业就懂了,我都是这样过来的,哈哈哈,睡觉了,不懂就多发帖子问问就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 07:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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