python - 遍历不同索引位置的元素
问题描述
我正在尝试制作一个从整数输入打印网格的程序。
def grids(units):
natural_number = int(input())
# define size
x = y = units
# create empty rows
grid = []
# for each row defined by Y, append a list containing X occurrences of "."
for row in range(y):
grid.append(list("." * x))
# fills the first row with natural_number
for elements in range(units):
grid[0][elements] = natural_number
# fills the first column of each row with natural_number
for elements in range(units):
grid[elements][0] = natural_number
return grid
>>> grids(3)
>? 5
[[5, 5, 5], [5, '.', '.'], [5, '.', '.']]
对于 grid[1][1]、grid[1][2]、grid[2][1] 和 grid[2][2] 中的空位置
我的目标是做出以下输出
''''
grid[1][1] = grid[1][0] + grid[0][1]
grid[1][2] = grid[1][1] + grid[0][2]
grid[2][1] = grid[2][0] + grid[1][1]
grid[2][2] = grid[2][1] + grid[1][2]
grid[i][j] = grid[i][j-1] + grid[i-1][j]
''''
为了填补这些职位,我想出了以下代码。
但是,代码返回错误:int object is not iterable。
该代码似乎也提出了不会为 grid[1][2] 或 grid[2][1] 迭代的问题
for i, j in range(1, units):
grid[i][j] = grid[i][j - 1] + grid[i - 1][j]
return grid
我可以采取什么措施来修正这个问题?
解决方案
如果你拿
for i, j in range(1,3):
并将其替换为
for i in range(1, 3):
for j in range(1, 3):
我认为这将解决您的问题
推荐阅读
- java - 主类不会读取另一个,使用 SVN 插入的项目
- javascript - 如何在 moment.js 中绕过冬季时间的转换
- php - ElasticSearch - 使用元数据排除命中
- reactjs - React Hooks 重新渲染
- python - 将二维数组保存到 CSV
- google-cloud-platform - GCP 上的对象检测训练作业失败
- python - 是否有针对主机服务的 API 调用?(查看 MK 版本 1.6.0p3)IE。“主机 xxx-xxx-xxx 的服务”
- java - Base64 编码/解码不适用于 Java 1.6 中的特殊字符
- c# - 无需用户名和密码即可验证 SharePoint 在线 REST API
- java - 将 int 值添加到 int 的 ArrayList