Python实现打印实心和空心菱形

yipeiwu_com6年前Python基础

1.打印实心菱形

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

方法一:

a = int(input("请输入菱形每条边星星的个数:"))
b = a
c = a
for i in range(1, a + 1):  # 先打印正三角,由空格和*根据规律组成
  print(" " * (b - 1), "*" * (2 * i - 1))
  b -= 1
  if i == a: # 临界点,当打印到此,开始打印倒三角
    for y in range(1, a):
      print(" " * y, "*" * (2*c-3))
      c -= 1

方法二:

n = int(input("输入要打印的菱形的每个边的元素个数:"))
list_a = [i for i in range(n)] # 生成前n行的行数列表,例如[0,1,2,3,4]
list_b = list_a[0:len(list_a) - 1:] # 生成剩余行数列表并反转,例如[0,1,2,3]
list_c = list_b[::-1]  # 对剩余行数列表并反转便于打印操作
list_d = list_a + list_c # 将两个列表合并

print(list_d)

b = [' ' * (n - i) + '*' * (2 * i + 1) for i in list_d]  # 根据规律,打印空格" "和"*"

for line in b:
  print(line)

打印结果:

2.打印空心菱形

代码:

a = int(input("请输入菱形每条边星星的个数:"))
b = a
c = a
print(" " * (a - 1), "*")
for i in range(2, a+1): # 先打印正三角,由空格和*根据规律组成
  print(" " * (b - 1) + "*" + " " * (2 * i - 3) + "*")
  b -= 1
  if i == a: # 临界点,当打印到此,开始打印倒三角
    for y in range(2, a):
      print(" " * y+"*"+" "*(2*c-5)+ "*" )
      c -= 1
    print(" "*a+"*")

打印结果:

以上这篇Python实现打印实心和空心菱形就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)

matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)

1.横坐标设置时间格式 import matplotlib.pyplot as plt import matplotlib.dates as mdates # 配置横坐标为日期格式...

Django如何实现内容缓存示例详解

Django如何实现内容缓存示例详解

前言 本文主要给大家介绍了关于Django实现内容缓存的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 1.缓存的简介 在动态网站中,用户所有的请求,服务器都...

Python 第一步 hello world

首先下载最新版本的python。www.python.org,目前版本为3.1。 接下来是安装,在windows下python的安装与其他应用程序一样,不多复述。 在windows下,即...

web.py获取上传文件名的正确方法

直接切入主题,从HTML页面上传文件,Python接收处理。但其中发现有些小问题,把它写出来,算是积累吧! HTML页面代码: 复制代码 代码如下: <form action="/...

Python读取word文本操作详解

Python读取word文本操作详解

本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下。 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面...