求助,为什么运行时,else老是提示语法错误
name=input('请输入带查找的用户名:')score=[['迷途',85],['黑夜,80'],['小布丁',65],['福禄娃娃',95],['怡静',90]]
for each in score:
if each==name:
break
print(name+'的得分是:'+str(each))
else:
print('你输入的数据不存在')
本帖最后由 赚小钱 于 2020-11-3 00:44 编辑
因为智障的py要求缩进对齐。 你让 print 往后,和 break 对齐再试试。
然后,另一个问题,我没看懂你程序的意思。或许你还可以试试把break 和第一个 print 上下交换。 本帖最后由 jackz007 于 2020-11-3 00:56 编辑
1、下面这一句中红色的单引号位置显然不对
score=[['迷途',85],['黑夜,80'],['小布丁',65],['福禄娃娃',95],['怡静',90]]
2、部分语句的顺序和缩进位置不对
下面是经过修改的代码,谨供楼主参考
name = input('请输入待查找的用户名:')
score = [['迷途' , 85] , ['黑夜' , 80] , ['小布丁' , 65] , ['福禄娃娃' , 95] , ['怡静' , 90]]
for each in score:
if each == name:
print(name + '的得分是:' + str(each))
break
else:
print('你输入的数据不存在') 赚小钱 发表于 2020-11-3 00:41
因为智障的py要求缩进对齐。 你让 print 往后,和 break 对齐再试试。
然后,另一个问题,我没看懂你程 ...
好的,我试了一下确实是print缩进没对齐的原因,但是这程序没跑出我想要的效果,我是想做一个输入名字,就能得到对应分数的程序,但是我这段代码留着break的话输入名字就得不出对应分数,把break删掉又会出现除了对应分数外,还会跑多几行你输入的数据不存在的文字出来。。。。这又是另外一个问题了 珠江东之虎 发表于 2020-11-3 00:53
好的,我试了一下确实是print缩进没对齐的原因,但是这程序没跑出我想要的效果,我是想做一个输入名字, ...
所以,你看我的第二段了吗? jackz007 发表于 2020-11-3 00:49
1、下面这一句中红色的单引号位置显然不对
score=[['迷途',85],['黑夜,80'],['小布丁',65],['福禄 ...
那个引号我也注意到了,谢谢,看了你的代码后,我终于明白之前问题出在哪里了 赚小钱 发表于 2020-11-3 00:56
所以,你看我的第二段了吗?
看了,只是break和print调换也还是会出现好几行你输入的数据不存在。还要加一步就是else不是和if组成if。。else语句,else是和上面的for 组成 for else语句才能得到最佳结果。 赚小钱 发表于 2020-11-3 00:41
因为智障的py要求缩进对齐。 你让 print 往后,和 break 对齐再试试。
然后,另一个问题,我没看懂你程 ...
哈哈哈,智障的python,很贴切 珠江东之虎 发表于 2020-11-3 01:06
看了,只是break和print调换也还是会出现好几行你输入的数据不存在。还要加一步就是else不是和if组成if。 ...
学到了,还有 for - else 这样的语法,niubility,哈哈
页:
[1]