鱼C论坛

 找回密码
 立即注册
查看: 1548|回复: 2

[已解决]一个比较简单但又复杂的问题

[复制链接]
发表于 2021-4-14 09:32:25 | 显示全部楼层 |阅读模式
10鱼币
  1. def howlong(i):
  2.     if b[i+1]-b[i]<2 :
  3.         howlong(i+1)
  4.         print(i)
  5.     else:
  6.         return i
  7. b=[6697,6697,6817,6817,6817,6982,7363,7361,7363,7361,7361,7361]
  8. h=0
  9. c=howlong(h)
  10. print(c)
复制代码

为什么返回结果是None。。我想要返回列表中相同元素的最后一个索引,比如1,4,之类
最佳答案
2021-4-14 09:32:26
  1. def howlong(i):
  2.     if b[i+1]-b[i]<2 :
  3.         return howlong(i+1)
  4.         # print(i)
  5.     else:
  6.         return i

  7. b=[6697,6697,6817,6817,6817,6982,7363,7361,7363,7361,7361,7361]
  8. h=0
  9. c=howlong(h)
  10. print(c)
复制代码

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-14 09:32:26 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
  1. def howlong(i):
  2.     if b[i+1]-b[i]<2 :
  3.         return howlong(i+1)
  4.         # print(i)
  5.     else:
  6.         return i

  7. b=[6697,6697,6817,6817,6817,6982,7363,7361,7363,7361,7361,7361]
  8. h=0
  9. c=howlong(h)
  10. print(c)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-14 09:43:21 | 显示全部楼层
你if条件有个分支没有返回值,python就默认返回None
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-26 13:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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