sturgeons 发表于 2020-5-18 16:48:16

想问问各位大佬

想问个问题,我想实现如果输入的名字不在列表里,就显示输入有误请重新输入,用的while语句,该怎么写***这部分的代码呢?
score=[['李明',100],['李华',150],['张丽',120],['王聪',120]]
while 1:
    name=input('输入要查找的用户名:')
    while ****:
      name=input('用户名不存在,请重新输入:')
      break
    for each in score:
      if name in each:
            print(name+'的得分是',each)

永恒的蓝色梦想 发表于 2020-5-18 16:52:06

score=[['李明',100],['李华',150],['张丽',120],['王聪',120]]
while 1:
    name=input('输入要查找的用户名:')
    while all(name!=i for i in score):
      name=input('用户名不存在,请重新输入:')
    for each in score:
      if name in each:
            print(name+'的得分是',each)break需要去掉。

满意就给个最佳吧{:10_297:}

qiuyouzhi 发表于 2020-5-18 16:52:37

while True?

沐羽尘 发表于 2020-5-18 16:53:49

本帖最后由 沐羽尘 于 2020-5-18 16:55 编辑

没看清 楼上应该没错

永恒的蓝色梦想 发表于 2020-5-18 16:55:43

沐羽尘 发表于 2020-5-18 16:53
没看清 楼上应该没错

实际上这就成死循环了

沐羽尘 发表于 2020-5-18 16:57:09

永恒的蓝色梦想 发表于 2020-5-18 16:55
实际上这就成死循环了

我说的是你没错{:10_282:}

Twilight6 发表于 2020-5-18 16:57:12

score=['李明',100,'李华',150,'张丽',120,'王聪',120]
while 1:
    name=input('输入要查找的用户名:')
    if name not in score or name.isdigit():
      name=input('用户名不存在,请重新输入!')
      break
    else:
      print(name+'的得分是',score)

这样即可~如果觉得对你有帮助记得给个最佳嘿嘿嘿{:10_287:}

永恒的蓝色梦想 发表于 2020-5-18 16:58:04

沐羽尘 发表于 2020-5-18 16:57
我说的是你没错

抱歉{:10_245:}我看到的时候不是这样的{:10_245:}

永恒的蓝色梦想 发表于 2020-5-18 16:58:36

本帖最后由 永恒的蓝色梦想 于 2020-5-18 17:00 编辑

Twilight6 发表于 2020-5-18 16:57

这样即可~如果觉得对你有帮助记得给个最佳嘿嘿嘿

没看清楚{:10_245:} 以为你又白给了呢{:10_266:} 抱歉

Twilight6 发表于 2020-5-18 17:00:26

永恒的蓝色梦想 发表于 2020-5-18 16:58
二度白给

哈哈 现在的个性签名就是:

如果觉得对你有帮助记得给个最佳嘿嘿嘿{:10_287:}

永恒的蓝色梦想 发表于 2020-5-18 17:01:11

Twilight6 发表于 2020-5-18 17:00
哈哈 现在的个性签名就是:

如果觉得对你有帮助记得给个最佳嘿嘿嘿

我已经把回复改了{:10_245:}

牛牛oliver 发表于 2020-5-18 17:08:07

学习
页: [1]
查看完整版本: 想问问各位大佬