我想实现这个
for i in range(1,10):
print(i)
但使用不同的函数,将for循环的值放入名为valuee
的变量,然后作为clamp
函数的参数,然后打印它。为什么我只得到1?而不是从1->9?
def clamp(valuee):
print(valuee)
def value():
for i in range(1,10):
return i
valuee=value()
clamp(valuee)
如果使用return
,将结束函数。您正在寻找发电机;将CCD_ 4改为CCD_。
def clamp(valuee):
print(valuee)
def value():
for i in range(1,10):
yield i
你可以通过两种方式使用你的生成器:在一个循环内
for valuee in value():
clamp(valuee)
或者,正如您最初想要的那样,但您必须添加关键字next
:
def clamp(valuee):
print(valuee)
def value():
for i in range(1,10):
yield i
valuee = value()
clamp(next(valuee))
clamp(next(valuee))
clamp(next(valuee))
...
它没有打印所有的值,因为在value((方法中,您使用return,当循环中i=1时,value((返回1并退出函数和循环。你可以使用。。。def clamp(valuee(:打印(估价(
def value((:对于范围(1,10(中的i:夹具(i(value((