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

yipeiwu_com7年前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中pass的作用

总结python中pass的作用

python中pass的作用?pass代表一个空的语句块 Python中pass的作用: 示例1,定义一个类,类中没有任何内容 保存,运行之后,该文件将报错,因为结构不完整 写入p...

Python多进程分块读取超大文件的方法

本文实例讲述了Python多进程分块读取超大文件的方法。分享给大家供大家参考,具体如下: 读取超大的文本文件,使用多进程分块读取,将每一块单独输出成文件 # -*- coding:...

解决python给列表里添加字典时被最后一个覆盖的问题

如下所示: >>> item={} ; items=[] #先声明一个字典和一个列表,字典用来添加到列表里面 >>> item['index']...

python语言线程标准库threading.local解读总结

本段源码可以学习的地方: 1. 考虑到效率问题,可以通过上下文的机制,在属性被访问的时候临时构建; 2. 可以重写一些魔术方法,比如 __new__ 方法,在调用 object.__ne...

解决Python安装时报缺少DLL问题【两种解决方法】

解决Python安装时报缺少DLL问题【两种解决方法】

准备开始学习Python,但是刚准备环境搭建时就遇到了下面的错误: 仔细的看了看,说是缺少DLL。 对于这个问题的解决办法: 方法一: 1. 在安装包上点右键以管理员身份运行 2. C...