关于python def函数的打印带None的问题

世外桃人 2017-07-04 02:00:15
代码如下:
def red_2():
for i in range(10000):
try:
n = 7 * i + 1
print getnumber(html)[n]
except Exception:
break
print red_2()

getnumber(html)是一个列表,如果按照上面的写法最后打印会带一个None,
如果写成 return getnumber(html)[n],那调用red_2()只会输出最后一个数值,无法满足楼主的需求
那问题来了,请问该怎么写可以不带None又能满足原有需求
...全文
1223 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
欢乐的小猪 2017-07-05
  • 打赏
  • 举报
回复 1
最后一句,把print去掉。
混沌鳄鱼 2017-07-04
  • 打赏
  • 举报
回复 5
这是因为你定义def red_2():的时候没有显示的使用return 语句,python 解释器会隐式地返回一个 return None 然后你又无知地给 print 了一下。
sanGuo_uu 2017-07-04
  • 打赏
  • 举报
回复
def red_2():
	for i in range(9999):
		try:
			n = 7 * i + 1
			print getnumber(html)[n]
		except Exception:
			break
red_2()
把range少一个就好了吧
chuifengde 2017-07-04
  • 打赏
  • 举报
回复
red_2()直接执行不行吗

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧