Python打印“菱形”星号代码方法

yipeiwu_com5年前Python基础

本人是一名python初学者,刚刚看到一道有趣的python问题,“用python如何在编译器中打印出菱形图案?”
因此决定尝试一下,代码不多,仅供参考。

代码

def printStar(intNum):
  s = "*"
  spaceLength = intNum
  blockCount = int(intNum/2+1)

  for i in range(spaceLength):
    result = s.rjust(blockCount)
    if i >= int(spaceLength/2):
      print(result)
      s = s[2:]
      blockCount -= 1
    else:
      print(result)
      s = s+(2*"*")
      blockCount += 1

def oddOReven(intNum):

  if intNum%2 == 0:
    print("please input a odd num data")
  else: 
    printStar(intNum)

if __name__ == '__main__':
  
  while True:
    try:
      intNum = eval(input("please input a odd num data\n"))
      oddOReven(intNum)
    except BaseException as e:
      print("Please input as 1/2/3... Errorcode:%s" % e) 
      

运行结果:

相关文章

python中使用print输出中文的方法

python中使用print输出中文的方法

看Python简明教程,学习使用print打印字符串,试了下打印中文,不行。 编辑环境:IDLE 上网搜了下解决办法,各种说法,试了两种: print u"学习" print (un...

python3实现单目标粒子群算法

python3实现单目标粒子群算法

本文实例为大家分享了python3单目标粒子群算法的具体代码,供大家参考,具体内容如下 关于PSO的基本知识......就说一下算法流程 1) 初始化粒子群;   ...

python机器学习之神经网络(二)

python机器学习之神经网络(二)

由于Rosenblatt感知器的局限性,对于非线性分类的效果不理想。为了对线性分类无法区分的数据进行分类,需要构建多层感知器结构对数据进行分类,多层感知器结构如下: 该网络由输入层,...

跟老齐学Python之赋值,简单也不简单

变量命名 在《初识永远强大的函数》一文中,有一节专门讨论“取名字的学问”,就是有关变量名称的问题,本温故而知新的原则,这里要复习: 名称格式:(下划线或者字母)+(任意数目的字母,数字或...

Python实现Dijkstra算法

Python实现Dijkstra算法

Dijkstra算法 迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪...