不知何去程序猿
2017-12-21 07:53
采纳率: 85.7%
浏览 4.6k

为什么在python使用for循环中在if条件判断,else结果不打印出来?

为什么在python使用for循环中在if条件判断,if条件未达成,else里面没有打印出来!
还有之前问题被删了,不知道为什么,下面2图是什么意思,是执行的流程图吗?
终于知道空格的重要性了
图片说明图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

22条回答 默认 最新

  • s_listening 2017-12-21 08:23
    已采纳

    楼主咋这么固执 不是每种语言都有for else语句的,你这根本不合python语法

    打赏 评论
  • ation1122 2017-12-21 07:58

    缩进出问题了 ,else往里缩进下

    打赏 评论
  • break;把这个去掉。。。。

    打赏 评论
  • Tsui丶 2017-12-21 08:01

    else 没有对齐 图二是for循环的执行流程

    打赏 评论
  • metoo9527 2017-12-21 08:03

    else语句的缩进错了

    打赏 评论
  • hua_2012123 2017-12-21 08:03

    array = [2,4,5,1,7]
    for i in array:
    if i == 1:
    print("找到了1")
    break
    else:
    print("没找到")
    语法又问题

    打赏 评论
  • 城枫墨凉 2017-12-21 08:07

    if 要与 else对齐,python中对缩进有严格的要求。2图是for循环的语法格式和循环的流程图

    打赏 评论
  • 不知何去程序猿 2017-12-21 08:07

    难道缩进错了,当循环偏历List,没找到1,为什么不执行else

    打赏 评论
  • 小白1225 2017-12-21 08:09

    break是结束整个循环,而continue是结束本次循环(跳过下一步)

    打赏 评论
  • feihero 2017-12-21 08:15

    楼主是想实现在数组 array 中找到 1?找到 1 跳出并返回,如遍历完数组,还没找到就打印 没找到。是这个意思吧。
    首先,你的缩进排版有问题, else 应该与 if 对齐。
    其次,即使缩进了,你的“没找到” 会打印多次。建议:

    #for 循环找1
    found = 0
    for i in array:
    if i == 1:
    print("找到1了", i)
    found = 1
    break
    if found == 0:
    print("没找到")

    
    

    另外,关于第二张图,就是一个for循环的过程。

    打赏 评论
  • qq_33498909 2017-12-21 08:22

    楼上的说的很对!
    图片说明

    打赏 评论
  • s_listening 2017-12-21 08:25

    python中for else 语句如果你想执行else语句 for中不能有break

    打赏 评论
  • mlqwxn 2017-12-21 08:28

    语法出现错误,在后面加上分号;

    打赏 评论
  • passtheworld 2017-12-21 08:32

    注意缩进

    #-*-coding:utf-8-*-
    print ('hello world')
    array=[2,4,5,1,7]
    for i in array:
    if i == 1:
    print ('find ',i)
    break
    else:
    print ('not find')

    打赏 评论
  • passtheworld 2017-12-21 08:37

    图片说明

    打赏 评论
  • ceshitestexam 2017-12-21 08:39

    else逻辑不对,需要缩进一下就可以了

    打赏 评论
  • yang-ch 2017-12-21 08:40

    else的缩进不正确

    打赏 评论
  • python是以缩进来区分的代码块的,一个语句块中的所有语句必须使用相同的缩进,表示一个连续的逻辑行序列。
    else的缩进要与if对齐,你贴图的else与for循环的缩进一致了,所以不会包含在for循环中,而else后面的语句不会执行。

    打赏 评论
  • csdn565973850 2017-12-22 03:05

    主要看代码缩进,这个python是很在乎的

    打赏 评论
  • 北漂的牛犊 2017-12-26 02:30

    python不是C语言,对句首缩进要求很严的。else 的缩进不对

    打赏 评论
  • 大炮同学 2017-12-26 10:00

    else缩进错了,应该对齐if

    打赏 评论
  • weixin_43836726 2019-09-04 14:51

    else缩进有问题,把if 和else放在同一个缩进

    打赏 评论

相关推荐 更多相似问题