我正在尝试创建一段代码,该代码将接受奇数作为输入,并使用此 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
有人可以帮助编辑我的代码或给我一些提示吗?(这是一项家庭作业)
最佳答案
我决定不修复您的算法,而是作为提供我自己的算法的工作示例:
n = 9
a = [['.'] * n for i in range(n)]
for i in range(n):
a[n // 2][i], a[i][n // 2], a[i][i], a[i][n - 1 - i] = ['*'] * 4
print('\n'.join([''.join(a[i]) for i in range(n)]))
输出:
*...*...*
.*..*..*.
..*.*.*..
...***...
*********
...***...
..*.*.*..
.*..*..*.
*...*...*
关于python - 创建一个打印雪花的二维数组 PYTHON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66820849/