我对Python还很陌生,所以请原谅,如果这个问题非常基本,但我已经尝试过搜索,还没有找到一种方法来实现这样的东西。你知道吗
我使用一个随机的步骤在两个数字的范围内循环,并打印出一些关于它们的信息。以下是我目前的代码:
from random import randint
#generate random number between 200 and 400
step = randint(200,400)
num = 0
for x in range(440000,450000,step):
num = num + 1
print("{}: {}km, increased by {}km".format(num,x,step))
我希望能够打印出step变量,并让它为循环的每个迭代(随机)更改,但是代码只给我一个值,在每个迭代中重复它自己。下面是一个示例输出:
1: 440000km, increased by 274km
2: 440274km, increased by 274km
3: 440548km, increased by 274km
4: 440822km, increased by 274km
5: 441096km, increased by 274km
6: 441370km, increased by 274km
7: 441644km, increased by 274km
8: 441918km, increased by 274km
9: 442192km, increased by 274km
10: 442466km, increased by 274km
11: 442740km, increased by 274km
12: 443014km, increased by 274km
13: 443288km, increased by 274km
14: 443562km, increased by 274km
15: 443836km, increased by 274km
16: 444110km, increased by 274km
我该如何使我的循环真正随机?任何帮助都将不胜感激。你知道吗
谢谢!你知道吗
在Python中,当您想在
for
循环中做一些有点复杂的事情时,通常需要将复杂的部分提取到生成器中。你知道吗因此,对于实际的循环,您需要使用
while
,但是您可以将循环提取到生成器randstep
,然后在for
循环中使用。您还需要一个计数器num
,并且已经有了一个生成器enumerate
,因此不需要执行num = num + 1
。你知道吗这是因为您正在定义计算前的步骤,并且只计算一次。每次执行循环时,代码都会给出274的固定步长值。你知道吗
在这种情况下,For循环并不理想(尽管有人可能会提供解决方案)。 在这种情况下,可以使用while循环来获得所需的结果。你知道吗
我会用一个经典的
while
循环:结果:
我不确定极限检查,所以我没有做
while x < 450000
,相反,我使用了一个无限循环,这样我可以在之后添加&;检查(否则,我觉得我将无法“模拟”这个for
循环)。你知道吗相关问题 更多 >
编程相关推荐