2020-10-08

news/2024/7/19 11:29:32 标签: python, 列表

打印特殊方阵

打印一个N*N的方阵(3<N<23),最外层为“T”,第二层为“J”,从第三层开始,依次打印1、2、3……,下图为N=11的情形。

T T T T T T T T T T T 
T J J J J J J J J J T 
T J 1 1 1 1 1 1 1 J T 
T J 1 2 2 2 2 2 1 J T 
T J 1 2 3 3 3 2 1 J T 
T J 1 2 3 4 3 2 1 J T 
T J 1 2 3 3 3 2 1 J T 
T J 1 2 2 2 2 2 1 J T 
T J 1 1 1 1 1 1 1 J T 
T J J J J J J J J J T 
T T T T T T T T T T T 

编程思路非常简单。建立一个二维列表,把数据一层一层写到这个列表中去,再打印出来。

python">n = int(input("Please input N:"))
zero = [[0 for _ in range(n)] for _ in range(n)]
base = ['T', 'J', '1', '2', '3', '4', '5', '6', '7', '8', '9']


def fill(k):
    for j in range(n):
        if zero[k][j] == 0:
            zero[k][j] = base[k]
   # for j in range(n):
        if zero[n - 1 - k][j] == 0:
            zero[n - 1 - k][j] = base[k]
    #for i in range(n):
        if zero[i][k] == 0:
            zero[i][k] = base[k]
    #for i in range(n):
        if zero[i][n - 1 - k] == 0:
            zero[i][n - 1 - k] = base[k]


for g in range(int(n/2)+1):
    fill(g)
for y in range(n):
    for x in range(n):
        print(zero[y][x], end=" ")
    print()

D:\Python\Python38\python.exe D:/Python/study/test22.py
Please input N:21
T T T T T T T T T T T T T T T T T T T T T 
T J J J J J J J J J J J J J J J J J J J T 
T J 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 J T 
T J 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 J T 
T J 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 J T 
T J 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 J T 
T J 1 2 3 4 5 5 5 5 5 5 5 5 5 4 3 2 1 J T 
T J 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 J T 
T J 1 2 3 4 5 6 7 7 7 7 7 6 5 4 3 2 1 J T 
T J 1 2 3 4 5 6 7 8 8 8 7 6 5 4 3 2 1 J T 
T J 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 J T 
T J 1 2 3 4 5 6 7 8 8 8 7 6 5 4 3 2 1 J T 
T J 1 2 3 4 5 6 7 7 7 7 7 6 5 4 3 2 1 J T 
T J 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 J T 
T J 1 2 3 4 5 5 5 5 5 5 5 5 5 4 3 2 1 J T 
T J 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 J T 
T J 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 J T 
T J 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 J T 
T J 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 J T 
T J J J J J J J J J J J J J J J J J J J T 
T T T T T T T T T T T T T T T T T T T T T 

Process finished with exit code 0


http://www.niftyadmin.cn/n/979040.html

相关文章

即时消息发送模块 java_五个模块,以促进模块化的即时性

即时消息发送模块 javaI designed my modular to be used with a computer. At times, it feels like I’m in the minority in this regard. Many people seek refuge from their computer when they turn to their modular. I don’t personally experience computer fatigue…

2020-10-09

完全数 完全数&#xff08;Perfect number&#xff09;&#xff0c;又称完美数或完备数&#xff0c;是一些特殊的自然数。 它所有的真因子&#xff08;即除了自身以外的约数&#xff09;的和&#xff08;即因子函数&#xff09;&#xff0c;恰好等于它本身。 第一个完全数是6&…

读书笔记2(Effective java)

2019独角兽企业重金招聘Python工程师标准>>> 当我第一次使用Picasso的时候&#xff0c;看见下面的官网示例时&#xff0c;我和我的小伙伴都惊呆了&#xff01; Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView); 如此简洁明…

PAT甲级 1053 等重路径

原题链接 给定一个非空的树&#xff0c;树根为 R。 树中每个节点 Ti 的权重为 Wi。 从 R 到 L 的路径权重定义为从根节点 R 到任何叶节点 L 的路径中包含的所有节点的权重之和。 现在给定一个加权树以及一个给定权重数字&#xff0c;请你找出树中所有的权重等于该数字的路径&am…

基于Bootstrap+jQuery.validate Form表单验证实践

本文转载自&#xff1a;http://blog.csdn.net/zoutongyuan/article/details/28094565 项目结构 &#xff1a; github 上源码地址&#xff1a;https://github.com/starzou/front-end-example 点击打开 1、form 表单代码 <!DOCTYPE html> <html> <head> …

2020-10-10

完全数&#xff08;续&#xff09; 参考完全数 前文得到6&#xff0c;28&#xff0c;496、8128、33550336五个完全数&#xff0c;效率很低。 古希腊数学家欧几里得给出了完全数的通项公式&#xff1a;2n−1^{n-1}n−1(2n^nn-1)。通项公式中的n和2n^nn-1都是质数&#xff08;素…

怎么学习数据库连接与操作? - 易智编译EaseEditing

学习数据库连接与操作可以按照以下步骤进行&#xff1a; 理解数据库基础知识&#xff1a; 在学习数据库连接与操作之前&#xff0c;首先要了解数据库的基本概念、组成部分和工作原理。 学习关系型数据库和非关系型数据库的区别&#xff0c;了解常见的数据库管理系统&#xff…

增强现实与虚拟现实_增强现实相关的法律问题

增强现实与虚拟现实When speaking of technological novelties, despite all positive aspects of the given innovation, sooner or later it turns out that according to law, the novelties might be problematic. Usually, these issues are regularly fixed by new model…