Python 使用双重循环打印图形菱形操作

如下所示:

a = int(input("请输入菱形行数:"))
m = a #空格
d = a #倒三角
for i in range(1, a + 1): # 先打印正三角
 print(" " * (m - 1), "*" * (2 * i - 1)) #2个*参数: 第一个是:空格 第二个是: *根据规律组成
 m -= 1
 if i == a: # 临界点,开始打印倒三角
 for y in range(1, a):
  print(" " * y, "*" * (2*d-3)) #2个*参数: 第一个是:空格 第二个是: *根据规律组成
  d -= 1 #设置-1

a=4 #指定行数
b=a #空格
c=a #倒三角
for i in range(1,a+1):
 print(" " * (b - 1), "%d" %b * (2 * i - 1))
 b-=1
 if i==a: # 临界点,开始打印倒三角
 for y in range(1,a):
  print(" " * y, "%d" %(y+1) * (2 * c - 3))
  c-=1

a = int(input("请输入菱形行数:"))
m = a #空格
d = a #倒三角
print(" " * (a - 1), "*") #第一个是:空格, 第二个是:打印一个*
for i in range(2, a + 1): # 先打印正三角
 print(" " * (m - 1) + "*" + " " * (2 * i - 3) + "*") #1个*参数: 第一个是:空格和*根据规律组成
 m -= 1
 if i == a: # 临界点,开始打印倒三角
 for y in range(2, a):
  print(" " * y + "*" + " " * (2 * d - 5) + "*") #1个*参数: 第一个是:空格和*根据规律组成
  d -= 1 #设置-1
 print(" "*a+"*") #打印最后一个*

补充知识:使用Python打印一些图形,主要是找到循环规律

打印菱形

a = int(input())
e = a//2
for i in range(e,-1,-1):
  print(' '*i,'*'*(a-2*i), ' '*i)
for i in range(1,e+1):
  print(' '*i,'*'*(a-2*i), ' '*i)

改进版本,找到规律,使用abs函数

a = int(input('>>>'))
e = a // 2
for i in range(-e, e+1):
  j = abs(i)
  print(' '*j + '*'*(a-j*2) + ' '*j)

打印对顶三角

a = int(input('>>>'))
e = a//2
for i in range(e+1):
  print(' '*i, (a - i*2)*'*', ' '*i, sep='')
for i in range(1, e+1):
  print(' ' * (e-i), (i * 2 + 1) * '*', ' ' * (e-i), sep='')

倒三角的打印,可以不用考虑*后面的空格,其实可以简化

a = int(input('>>>'))
e = a // 2
for i in range(-e, e+1):
  j = abs(i)
  print(' ' * (e-j) + '*' * (j * 2 + 1))

打印一道闪电:

按照最笨的思路分三部分打印

a = int(input('>>>'))
e = a // 2
for i in range(-e, 0):
  print(' ' * abs(i) + '*' * (a - e - abs(i)))
print('*' * a)
for i in range(1, a-e):
  print(' ' * e + '*' * (a - e - i))

稍作改进

a = int(input('>>>'))
e = a // 2
for i in range(-e, a-e):
  if i < 0:
    print(' ' * abs(i) + '*'*(a - e - abs(i)))
  elif i > 0:
    print(' ' * e + '*' * (a - e - i))
  else:
    print('*' * a)

打印正方形

for i in range(n):
  sepTop += '\t*'
  sepMid += '\t'
else:
  sepMid += '*'
  print(sepTop)

for i in range(n-1):
  print('\n')
  print(sepMid)
else:
  print('\n')
  print(sepTop)

print('=====================================')
e = -n//2
for i in range(e,n+e):
  if i == e or i == n+e-1:
    print('*'*n)
  else:
    print('*'+' '*(n-2)+'*')
print('=====================================')
 

以上这篇Python 使用双重循环打印图形菱形操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python跳出多重循环的方法示例

    方法1:自定义异常 # -*- coding:utf-8 -*- """ 功能:python跳出循环 """ # 方法1:自定义异常 class Getoutofloop(Exception): pass try: for i in range(5): for j in range(5): if i == j == 2: raise Getoutofloop() else: print i, '----', j except Getoutoflo

  • Python3实现打印任意宽度的菱形代码

    我就废话不多说了,还是直接看代码吧! width = 11 #注意宽度必须位奇数 for i in range(-width//2,width//2+1): prespace=i if i>0 else -i print(' '*prespace+'*'*(width-prespace*2)) 运行结果: * *** ***** ******* ********* *********** ********* ******* ***** *** * 补充知识:Python打印高度为2 * n +

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

    1.打印实心菱形 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识. 方法一: a = int(input("请输入菱形每条边星星的个数:")) b = a c = a for i in range(1, a + 1): # 先打印正三角,由空格和*根据规律组成 print(" " * (b - 1), "*" * (2 *

  • python跳出双层for循环的解决方法

    一.问题描述 在二维数组的遍历中,我们经常使用双层for循环.在某些时候,我们并不需要遍历整个二维数组.当条件满足时就应该终止for循环.但是,直接在内层循环中break并不会让外层循环也终止. 二.解决方案 使用for...else...语法解决. for i in range(5): for j in range(5): print(i, j) if i == 3 and j == 3: break else: continue break 当次循环正常结束的时候才会执行else中的语句(如

  • Python 使用双重循环打印图形菱形操作

    如下所示: a = int(input("请输入菱形行数:")) m = a #空格 d = a #倒三角 for i in range(1, a + 1): # 先打印正三角 print(" " * (m - 1), "*" * (2 * i - 1)) #2个*参数: 第一个是:空格 第二个是: *根据规律组成 m -= 1 if i == a: # 临界点,开始打印倒三角 for y in range(1, a): print("

  • Java编程之双重循环打印图形

    双重循环打印顶点在左上的直角三角形: public static void main(String[] args) { // TODO Auto-generated method stub int num=0; System.out.println("请输入直角三角形的行数:"); Scanner input=new Scanner(System.in); num=input.nextInt(); for(int i=1;i<=num;i++){ for(int k=1;k<

  • JAVA用for循环打印空心菱形

    空心菱形如图所示 那么我们应该如何去写出来呢?这就不得不引出一个非常经典的案例,金字塔案例,菱形像不像是两个对称的金字塔呢?废话不多说了,上思路:(仅代表个人理解,欢迎指点) 1.首先我们要写出一个空心菱形,那么我们首先得把需求由繁化简,把他拆分成一个一个简单的需求, 1.1那我们就先写半个金字塔, 是不是很眼熟的结构,没错和九九乘法表类似的结构,上代码 for(int i = 1;i <= 5;i++){ //i代表层数,这个可以设置一个变量接收,随便几层都行,不一定非要是5 for(int

  • python实现while循环打印星星的四种形状

    在控制台连续输出五行*,每一行星号数量一次递增 * ** *** **** ***** #1.定义一个行计数器 row = 1 while row <= 5: #定义一个列计数器 col = 1 #开始循环 while col <= row: print('*',end='') col += 1 print('') row += 1 如果想要星星倒过来呢 #1.定义一个行计数器 row = 1 while row <= 5: #定义一个列计数器 col = 5 #开始循环 while c

  • Python利用for循环打印星号三角形的案例

    简单的for循环打印三角形 1,for循环方法实现星星三角 代码: for i in range(0,5): for j in range(i+1): if i == 4: print("* ",end="") continue if j == 0 or j == i: print("* ",end="") else: print(" ",end="") print() 2.实心三角:

  • 利用python打印出菱形、三角形以及矩形的方法实例

    前言 本文主要给大家介绍了关于利用python打印出菱形.三角形以及矩形的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍: 实例代码 #coding:utf-8 rows = int(raw_input('输入列数: ')) i = j = k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数 #等腰直角三角形1 print "等腰直角三角形1" for i in range(0, rows): for k in range

  • 对python while循环和双重循环的实例详解

    废话不多说,直接上代码吧! #python中,while语句用于循环执行程序,即在某个条件下,循环执行某段程序,以处理需要重复处理的相同任务. #while是"当型"循环结构. i=1 while i<=20: print(i,end=" ") i+=1 sum=0 i=1 while i<=100: sum+=i i+=1 else: print("\n",sum) print("0+2+...+100=",su

  • python 使用while循环输出*组成的菱形实例

    一,python输出*组成的菱形(实心): python代码: x = int(input('请输入最长行的*的个数:')) y = int(input('请输入每个*之间的间隔:')) i = 1 while i<= x: #第一个while组成菱形上半部 j = 1 k = 1 while k <= x-i: print(' '*y,end = '') #每一行最左边到第一个*之间的空格 k += 1 while j <= i: print('*', end=' '*(2*y-1))

  • C语言实现循环打印星号图形再镂空

    目录 C语言 循环打印星号图形再镂空 镂空的原理 C语言 打印菱形星号“*”图案 题目 C语言 循环打印星号图形再镂空 镂空的原理 判断什么时候打印星号,什么时候打印空格 如果把这个图形镂空 成下面这个图形 int i,j; //外层控制行数和换行 for(i=0;i<5;i++) { //内存循环控制列数和星数量 for(j=0;j<=3-i;j++) { printf(" "); } for(j=0;j<=i*2;j++) { if(i==0 || i==4 ||

  • Python图形绘制操作之正弦曲线实现方法分析

    本文实例讲述了Python图形绘制操作之正弦曲线实现方法.分享给大家供大家参考,具体如下: 要画正弦曲线先设定一下x的取值范围,从0到2π.要用到numpy模块. numpy.pi 表示π numpy.arange( 0 , 2π ,0.01)  从0到2π,以0.01步进. 令 x=numpy.arange( 0, 2*numpy.pi, 0.01) y=numpy.sin(x) 画图要用到matplotlib.pyplot模块中plot方法. plot(x,y) pyplot.plot.sh

随机推荐