大小为n * n 的田字格输出(Python)
任意大小的田字格输出利用函数做到代码模块化,提高重复利用效率,并且,使代码更容易理解a函数用来输出行b函数用于列上的 " | " 输出。我目前没找到 " - " 这个符号怎么把他转过来,所以就用" | " 这个先代替,格式可以直接替换核心要点 :一行个数为 n 个的田字格,总共有 n + 1 个" + " 号,每两个 " + " 之间有4个 " - " 号做法: 每输出一个 " + " 符号时,输
任意大小的田字格输出
利用函数做到代码模块化,提高重复利用效率,并且,使代码更容易理解
a函数用来输出行
b函数用于列上的 " | " 输出。
我目前没找到 " - " 这个符号怎么把他转过来,所以就用
" | " 这个先代替,格式可以直接替换
核心要点 : 一行个数为 n 个的田字格,总共有 n + 1 个
" + " 号,每两个 " + " 之间有4个 " - " 号
做法: 每输出一个 " + " 符号时,输出4个 " - " 符号,这个便构成了一个二重循环,而 " | " 这个符号相当于在 " + " 符号处输出,但是需要当做每一行来输出(即:当前行数在上下两个 " + " 之间的时候只输出 " | " 这个符号),因为输出的时候光标是是一行一行过的,没法一列竖着过,每个输出语句后面都有end和sep两个选项进行了修改,防止因为格式问题导致输出错误,print语句是默认会换行的,详细情况请查询print的语法
def a(n):
for i in range(0,n):
print("+",end='',sep='')
for j in range(0,4):
print("-",end='',sep='')
print("+")
def b(n):
for i in range(0,4):
print("|\n",end='',sep='')
n = int(input("Please input the size: "))
for i in range(0,n):
a(n)
for j in range(0,4):
for k in range(0,((4 * n) + n + 1),5):
print("| ",end='',sep='')
print("\n",end='',sep='')
a(n)
分割线
for k in range(0,((4 * n) + n + 1),5):
这一句是为了适应长度为 n 的时候写的,长度为 n 的时候,每一个 " + " 所在的位置构成了一个首项为1 公差为4 的等差数列,通项公式根据等差数列的相关公式很好写,所以步长设置为5
for j in range(0,4):
而这一个相当于是上下两个 " + " 之间的行数,上下之间相差的行数为4,需要进行4次操作,总共是n次。
更多推荐
所有评论(0)