【发布时间】:2021-06-23 12:18:58
【问题描述】:
我正在尝试创建一段代码,它将接受一个奇数作为输入,并使用这个 n * n 图表创建一个雪花
Enter Integer: 5
* . * . *
. * * * .
* * * * *
. * * * .
* . * . *
我很确定我在正确的轨道上
n = int(input("Enter odd input: "))
while n % 2 == 0:
print("Invalid Input. Input must be odd")
n = int(input("Enter odd input: "))
snowflake = [["."] * n for i in range(n)]
middle = int((n-1) / 2)
for i in range(n):
snowflake[i][2] = "*"
snowflake[2][i] = "*"
snowflake[i][i] = "*"
diagnol = 5-i
snowflake[i][diagnol] = "*"
for i in snowflake:
for j in i:
print(j, end=' ')
print()
print()
但我不断收到此错误
snowflake[i][diagnol] = "*"
IndexError: list assignment index out of range
有人可以帮助编辑我的代码或给我提示吗?(这是家庭作业)
【问题讨论】:
-
在学习如何编写代码的同时,也应该学习如何调试。 This article 提供了一些很好的提示来帮助您入门。我建议打印出
snowflake、i和diagonal的值,看看你做错了什么。 -
第一次迭代
i=0,所以diagnol=5确实超出了列表的范围。 -
打印索引,以便找到超出范围的位置
-
@Code-Apprentice 谢谢 :)
标签: python python-3.x arraylist pycharm