zoukankan      html  css  js  c++  java
  • python打印9宫格,25宫格等奇数格,且横竖斜相加和相等

    代码如下:

    #!/usr/bin/env python3
    #-*- coding:utf-8 -*-
    num = int(input('请输入一个奇数:'))
    # 定义一个长为num的列表
    high = [[0] * num ]
    # 先定义一个num*num的一个列表,之后在往里面赋值
    for i in range(num-1):
    high += [[0]*num]
    n = 1
    # 先确定第一行中间值为1
    high[0][num//2] = n
    x = 0
    y = num//2
    # 依次向high列表赋值从2开始
    for j in range(1,num*num):
    # x表示第几行,y表示第几列,j表示x,y坐标的值
    j = j + 1
    x = x - 1
    y = y + 1
    # 判断符合哪几种可能性
    if y > (num - 1) and x < 0 :
    x = x + 2
    y = y - 1
    high[x][y]=j
    elif x < 0 :
    x = num - 1
    high[x][y]=j
    elif y > num-1 :
    y = 0
    high[x][y]=j
    else:
    if high[x][y] == 0 :
    high[x][y]=j
    elif high[x][y] != 0 :
    x = x + 2
    y = y - 1
    high[x][y]=j
    # 依次把high列表中值打印出来
    for a in range(num):
    for b in range(num):
    # rjust表示输出01,02,03等这种格式,可看我上篇博文介绍
    print( str(high[a][b]).rjust(2,'0'),end=' ')
    print()
    思路:

    主要还是理解最上面的那段口诀,口诀理解啦代码也就懂啦,如有不懂欢迎小伙伴们留言
    ---------------------

  • 相关阅读:
    Linux常用命令
    Docker常用命令
    Google操作
    JAVA实现动态二维码输出
    JAVA IDEA Debug设置
    JAVA下载https资源图片
    Nginx配置文件常用操作
    Docker安装(Ubuntu、CentOS)
    SpringBoot启动脚本
    Tomcat——tomcat配置文件方式部署项目
  • 原文地址:https://www.cnblogs.com/ly570/p/11211011.html
Copyright © 2011-2022 走看看