我想返回只使用random.random
的库函数随机浮点数的列表。我不断收到一个语法错误,每当我试图关闭我的块。这里是我的代码:
def randomFloats(n, lower, upper) :
... for i in range(n) :
... return [random.random()*(upper-lower)]
break
有许多东西你的代码错误。让我们打破这些下来:
break
使用Python的声明break
适用于在运行期间退出循环。这方面的一个例子是:
for i in range(10):
if i == 2:
break
else:
print(i)
那么输出将是:
0
1
也许从这个你已经可以告诉大家,在你的代码中使用break
是不妥当的。
return
使用return语句是功能的“最终”的执行;或者换句话说,当达到return
语句时,函数返回时,并退出。一个例子来展示这一点:
def func():
for i in range(10):
return i
print("IN HERE!")
print(func())
输出:
0
正如你所看到的,函数不返回0-10为也许你认为它会。你还应该注意,“这里”不是印刷,因为我们退出的功能。
现在看看我们所拥有的上面,我们可以看到一些明显的错误认识你的代码:
这是我的一个假设:你弄错break
语句的功能致闭幕词。现实情况是,Python没有像其他语言end
语句,而是,结束语句是缩进。相反,在解释写作“休息”,尽量只运行你的函数没有它,并确保按Enter键退出函数声明出来(您将不再看到光点,而是>>>
)。
也许你正在寻找(不含列表理解)的代码如下:
import random
def randomFloats(n, lower, upper):
l = [] # Creating a list named 'l'
for i in range(n):
l.append(random.random() * (upper - lower)) # Appending n random numbers to list l.
return l # Returning the list l.
print(randomFloats(10, 1, 10))
这的确代码将进入一个循环(假定压痕是一致的),但是,在该循环的第一次迭代中,它会返回一个包含一个随机浮点值的列表。
如果你想返回更多的随机值的列表,你应该使用:
import random
def randomFloats(n, lower, upper) :
return [random.random()*(upper-lower) for _ in range(n)]