python - 使用 Python 使用随机范围遍历列表
问题描述
我对 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
我将如何让我的循环真正随机?任何和所有的帮助将不胜感激。
谢谢!
解决方案
由于采取了初始步骤,因此您无法使用for
循环执行此操作(由于 C/C++循环遗留问题,可以在循环中修改步骤或当前索引,因此经常会出现混淆)。range
for
我会选择一个经典的while
循环:
from random import randint
#generate random number between 200 and 400
num = 0
x = 440000
while True:
num += 1
step = randint(200,400)
x += step
if x >= 450000:
break
print("{}: {}km, increased by {}km".format(num,x,step))
结果:
1: 440380km, increased by 380km
2: 440586km, increased by 206km
3: 440975km, increased by 389km
4: 441221km, increased by 246km
5: 441545km, increased by 324km
6: 441803km, increased by 258km
7: 442080km, increased by 277km
8: 442476km, increased by 396km
9: 442822km, increased by 346km
10: 443179km, increased by 357km
11: 443536km, increased by 357km
12: 443779km, increased by 243km
13: 444170km, increased by 391km
14: 444449km, increased by 279km
15: 444791km, increased by 342km
16: 445023km, increased by 232km
...
28: 449154km, increased by 348km
29: 449431km, increased by 277km
30: 449647km, increased by 216km
31: 449890km, increased by 243km
我不确定限制检查,所以我没有做while x < 450000
,而是使用了无限循环,所以我可以在之后添加和检查(否则,我觉得我无法“模拟”for
循环。
推荐阅读
- javascript - 在我让 Puppeteer 截取页面截图之前,有没有办法让 Puppeteer 执行页面操作(比如扩展维基百科条目)?
- aws-lambda - 部署到 AWS Lambda 时,Python 库文件不在文件夹内
- azure-logic-apps - 如何正确地将 JSON 数据提取/转换为对象?
- javascript - 使用 typeof 检查时,赋值的变量仍然未定义
- c# - 如何将当前日期插入到当前选定位置的richtextbox?
- javascript - 当两个 div 重叠时 - 第一个的颜色应该改变
- spring-websocket - Spring WebSocket ConvertAndSendToUser 不工作但 convertAndSend 工作
- for-loop - 这个 FOR 循环的时间和空间复杂度是多少?
- html - 如何将完成的网站发送给我的客户?
- python - Python:基于同一组的多个条目进入不同的列