Python初学,该怎样实现在IDLE环境下编写出九宫算数呢,百思不得其解。
2条回答 默认 最新
关注 不用numpy的话,如下:
n = int(input("请输入宫格数:")) a = [[0 for _ in range(n)] for _ in range(n)] if n%2==0: print("unknown") else: num=1 i=0 j=n//2 a[i][j]=num while(num<n*n): num=num+1 if i-1<0 and j+1>=n: a[i+1][j]=num i=i+1 elif i-1<0: for k in range(n-1,0,-1): if a[k][j+1]==0: a[k][j+1]=num i=k j=j+1 break elif j+1>=n: for k in range(n): if a[i-1][k]==0: a[i-1][k]=num i=i-1 j=k break else: if a[i-1][j+1]!=0: a[i+1][j]=num i=i+1 else: a[i-1][j+1]=num i=i-1 j=j+1 for i in a: print(i)
In: 3
[8, 1, 6]
[3, 5, 7]
[4, 9, 2]
In: 5
[17, 24, 1, 8, 15]
[23, 5, 7, 14, 16]
[4, 6, 13, 20, 22]
[10, 12, 19, 21, 3]
[11, 18, 25, 2, 9]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 单片机学习顺序问题!!
- ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
- ¥15 相敏解调 matlab
- ¥15 求lingo代码和思路
- ¥15 公交车和无人机协同运输
- ¥15 stm32代码移植没反应
- ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
- ¥100 连续两帧图像高速减法
- ¥15 如何绘制动力学系统的相图