a*******t 发帖数: 414 | 1 def inc(n):
while n<11:
return n
n=n+1
n=0
print inc(0)
本来是想写一个loop,report从0到10,请问上面这个code为什么不对 |
X****r 发帖数: 3557 | 2 def range10(n):
while n < 11:
yield n
n = n + 1
for n in range10(1):
print n
Note that range10(1) here is the same as xrange(1,11) , you could
just call that instead instead of writing your own.
【在 a*******t 的大作中提到】 : def inc(n): : while n<11: : return n : n=n+1 : n=0 : print inc(0) : 本来是想写一个loop,report从0到10,请问上面这个code为什么不对
|
t****t 发帖数: 6806 | 3 有没有operator直接做这个的, 好象matlab里的1:10或者perl里的1..10
【在 X****r 的大作中提到】 : def range10(n): : while n < 11: : yield n : n = n + 1 : for n in range10(1): : print n : Note that range10(1) here is the same as xrange(1,11) , you could : just call that instead instead of writing your own.
|
X****r 发帖数: 3557 | 4 和Perl相反,Python尽量少用符号,所以就是range(1,11)或者xrange(1,11)。前者生
成一个实际的list,后者相当于一个forward iterator。
【在 t****t 的大作中提到】 : 有没有operator直接做这个的, 好象matlab里的1:10或者perl里的1..10
|
a*******t 发帖数: 414 | 5 多谢版主的code,如果把我的code改成下面这样的
def inc(n):
i=1
while i<=n:
print i
i=i+1
print inc(10)
结果是
1
2
3
4
5
6
7
8
9
10
none
请问怎么能把最后的none去掉啊 |
t****t 发帖数: 6806 | 6 because u didn't return anything from inc(), so just don't print it
【在 a*******t 的大作中提到】 : 多谢版主的code,如果把我的code改成下面这样的 : def inc(n): : i=1 : while i<=n: : print i : i=i+1 : print inc(10) : 结果是 : 1 : 2
|
p******w 发帖数: 62 | 7 你function里面已经print了,而且没有return任何东西,外面的print就print none了
。去掉最后那个print
【在 a*******t 的大作中提到】 : 多谢版主的code,如果把我的code改成下面这样的 : def inc(n): : i=1 : while i<=n: : print i : i=i+1 : print inc(10) : 结果是 : 1 : 2
|
p******g 发帖数: 347 | 8 看到这个程序写的这个样子我就忍不住来气。你说你写这个程序的时候你是没睡醒呢还
是故意来气人玩的...比较理解那个咆哮广播员为什么咆哮了
姑娘你知不知道 return 是什么意思呢?
还有你后面那个问题怎么把none去掉。妹支你知不知道那个 none 是怎么来的? 你知不
知道你定义和使用一个函数是怎么一回事哪, ahhh?!!!!
不过用你这个写法也行, 但是估计你更看不懂是什么意思了...
def inc(n):
while n<11:
yield n
n = n + 1
for i in inc(0):
print i
0
1
2
3
4
5
6
7
8
9
10
【在 a*******t 的大作中提到】 : def inc(n): : while n<11: : return n : n=n+1 : n=0 : print inc(0) : 本来是想写一个loop,report从0到10,请问上面这个code为什么不对
|
a*******t 发帖数: 414 | 9 大侠消消气,这几天俺魔障了~~cs一点概念都没有,就用电脑上网看huaren,聊天的俺
,想学cs,随便在网上乱看了点公开课的视频,一点也入不了门啊,叹气
【在 p******g 的大作中提到】 : 看到这个程序写的这个样子我就忍不住来气。你说你写这个程序的时候你是没睡醒呢还 : 是故意来气人玩的...比较理解那个咆哮广播员为什么咆哮了 : 姑娘你知不知道 return 是什么意思呢? : 还有你后面那个问题怎么把none去掉。妹支你知不知道那个 none 是怎么来的? 你知不 : 知道你定义和使用一个函数是怎么一回事哪, ahhh?!!!! : 不过用你这个写法也行, 但是估计你更看不懂是什么意思了... : def inc(n): : while n<11: : yield n : n = n + 1
|
l********a 发帖数: 1154 | 10 借这个帖子问问yield 的问题
我写程序从来没有用到这个关键字,其实是自己没有完全理解用法
Xentar能讲讲不?
【在 X****r 的大作中提到】 : def range10(n): : while n < 11: : yield n : n = n + 1 : for n in range10(1): : print n : Note that range10(1) here is the same as xrange(1,11) , you could : just call that instead instead of writing your own.
|
r****t 发帖数: 10904 | 11 read about generator, 从来没用过 yield, 不能称合格的 python programmer
【在 l********a 的大作中提到】 : 借这个帖子问问yield 的问题 : 我写程序从来没有用到这个关键字,其实是自己没有完全理解用法 : Xentar能讲讲不?
|