Jerry~Mouse 发表于 2021-10-13 16:20:56

if与else对齐问题

问题标注在#后面,求帮助

def func(num, k):
    num = list(num)
    for i in range(k):
      for j in range(len(num)-1):
            if num > num:   
                num.pop(j)
                break
      else:                            #请问这个else不需要和if对其吗?这个程序是可以正常运行的,但是我不理解if与else不对齐也能运行
          num.pop()               
    result = 0
    for i in num:
      result = result*10+eval(i)
    return result

if __name__ == "__main__":
    num, k = eval(input("Enter an integer and digits: "))
    result = func(str(num), k)
    with open("T:\\myf.out", 'w') as fp:
      fp.write(str(result))

逃兵 发表于 2021-10-13 16:27:58

这个是for-else语句
for循环正常运行退出循环,会执行else语句
如果被break终止循环,不执行else语句

灰晨 发表于 2021-10-13 16:32:02

这里就不是if...else....了,而是for....else....了
else这东西不是只有if能用的,
for....else....
如果for里面的语句正常执行完成后,就会运行else里的语句,跟没有else一个样
但是吧,如果for里面有break,只要执行了break,则else里的语句就不会执行了
页: [1]
查看完整版本: if与else对齐问题