python - 随机游走 Python 练习循环
问题描述
我正在做 python 练习,我无法完成它。我需要创建一个数组并填充 25 个数字,每个数字将是前一个数字和从集合中提取的值 (-5, 5) 的总和。
将 numpy 导入为 np 导入随机
def prog_list(mylist):
mylist = [0]
addlist = [-5,5]
sum_list = 0
for i in mylist:
if len(mylist) < 25:
sum_list = random.choice(addlist) + mylist[i-1]
mylist.append(sum_list)
else:
return mylist
for x in prog_list(mylist):
print(x)
当我打印 x 我有
IndexError: list index out of range
解决方案
这有效:
def prog_list(n):
mylist = [0]
#addlist = [-5,5]
addlist = list(range(-5, 5+1))
for i in range(1, n):
_sum = random.choice(addlist) + mylist[i-1]
mylist.append(_sum)
return mylist
prog_list(25)
如果你想从 (-5, 5) 中提取任何整数,你需要这个:
addlist = list(range(-5, 5+1))
有一种更简洁的方法可以做到这一点,您不必在每次迭代中都访问列表:
def prog_list(n):
mylist = []
_sum = 0
#addlist = [-5,5]
addlist = list(range(-5, 5+1))
for i in range(n):
mylist.append(_sum)
_sum += random.choice(addlist)
return mylist
prog_list(25)
推荐阅读
- batch-file - 从文件名按日期批量创建文件夹
- python - Linux - 使用键绑定终止 AutoKey 脚本
- amazon-ec2 - Eventmachine 1.2.7 构建在 Amazon Linux AMI 上使用 Ruby 2.5.1 失败 - “rhel fedora”
- ajax - Wordpress 中的 AJAX 过滤器插件
- html - 覆盖引导类属性
- mysql - Mysql:操作符错误在 phpmyadmin 中运行,但不在 php 中
- java - Java中的拼写检查器,文件打开但没有输出
- javascript - 如何在弹出页面中阻止警报消息?
- java - UnknownEntityTypeException:无法找到持久性
- javascript - 通过匹配父项或子项中的关键字过滤嵌套数组