鱼C论坛

 找回密码
 立即注册
查看: 2800|回复: 8

[已解决]求助,为什么运行时,else老是提示语法错误

[复制链接]
发表于 2020-11-3 00:35:40 | 显示全部楼层 |阅读模式

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

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

x
name=input('请输入带查找的用户名:')
score=[['迷途',85],['黑夜,80'],['小布丁',65],['福禄娃娃',95],['怡静',90]]
for each in score:
    if each[0]==name:
        break
    print(name+'的得分是:'+str(each[1]))  
    else:
        print('你输入的数据不存在')
   
最佳答案
2020-11-3 00:49:01
本帖最后由 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[0] == name:
        print(name + '的得分是:' + str(each[1]))
        break  
else:
    print('你输入的数据不存在')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-3 00:41:50 From FishC Mobile | 显示全部楼层
本帖最后由 赚小钱 于 2020-11-3 00:44 编辑

因为智障的py要求缩进对齐。 你让 print 往后,和 break 对齐再试试。

然后,另一个问题,我没看懂你程序的意思。或许你还可以试试把break 和第一个 print 上下交换。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 00:49:01 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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[0] == name:
        print(name + '的得分是:' + str(each[1]))
        break  
else:
    print('你输入的数据不存在')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 00:53:40 | 显示全部楼层
赚小钱 发表于 2020-11-3 00:41
因为智障的py要求缩进对齐。 你让 print 往后,和 break 对齐再试试。

然后,另一个问题,我没看懂你程 ...

好的,我试了一下确实是print缩进没对齐的原因,但是这程序没跑出我想要的效果,我是想做一个输入名字,就能得到对应分数的程序,但是我这段代码留着break的话输入名字就得不出对应分数,把break删掉又会出现除了对应分数外,还会跑多几行你输入的数据不存在的文字出来。。。。这又是另外一个问题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 00:56:12 From FishC Mobile | 显示全部楼层
珠江东之虎 发表于 2020-11-3 00:53
好的,我试了一下确实是print缩进没对齐的原因,但是这程序没跑出我想要的效果,我是想做一个输入名字, ...

所以,你看我的第二段了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 01:01:01 | 显示全部楼层
jackz007 发表于 2020-11-3 00:49
1、下面这一句中红色的单引号位置显然不对
score=[['迷途',85],['黑夜,80'],['小布丁',65],['福禄 ...

那个引号我也注意到了,谢谢,看了你的代码后,我终于明白之前问题出在哪里了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-3 01:06:45 | 显示全部楼层
赚小钱 发表于 2020-11-3 00:56
所以,你看我的第二段了吗?

看了,只是break和print调换也还是会出现好几行你输入的数据不存在。还要加一步就是else不是和if组成if。。else语句,else是和上面的for 组成 for else语句才能得到最佳结果。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 08:31:12 From FishC Mobile | 显示全部楼层
赚小钱 发表于 2020-11-3 00:41
因为智障的py要求缩进对齐。 你让 print 往后,和 break 对齐再试试。

然后,另一个问题,我没看懂你程 ...

哈哈哈,智障的python,很贴切
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 16:17:35 | 显示全部楼层
珠江东之虎 发表于 2020-11-3 01:06
看了,只是break和print调换也还是会出现好几行你输入的数据不存在。还要加一步就是else不是和if组成if。 ...

学到了,还有 for - else 这样的语法,niubility,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 00:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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