|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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('查找的数据不存在!')
这个85,80,65,95,90不也在列表each里么?为什么输入这些时程序还是显示'查找的数据不存在!呢?
这个程序是根据用户输入的用户名来查找对应的分数。列表score中的每个元素都是一个子列表,包含用户名和对应的分数。
程序遍历整个score列表,然后在每个子列表中查找用户输入的用户名。如果找到了,就输出对应的分数。
当您输入85, 80, 65, 95, 90这些数字时,程序显示“查找的数据不存在!”是因为您输入的是分数,而程序是根据用户名来查找分数的。
在每个子列表each中,用户名是each[0],分数是each[1]。程序只会检查each[0],即用户名,而不会检查分数。
所以当您输入分数时,它找不到对应的用户名,从而显示数据不存在。
如果您想根据分数查找用户名,可以修改程序如下:
score_input = int(input('请输入待查找的分数:'))
score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]
IsFind = False
for each in score:
if score_input == each[1]:
print(each[0] + '的得分是:', each[1])
IsFind = True
break
if IsFind == False:
print('查找的数据不存在!')
这样修改后,程序会根据输入的分数来查找对应的用户名。
|
|