前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python3实现打印任意宽度的菱形代码

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

作者头像
砸漏
发布2020-11-04 10:31:48
8830
发布2020-11-04 10:31:48
举报
文章被收录于专栏:恩蓝脚本

我就废话不多说了,还是直接看代码吧!

代码语言:javascript
复制
width = 11  #注意宽度必须位奇数
for i in range(-width//2,width//2+1):
  prespace=i if i 0 else -i
  print(' '*prespace+'*'*(width-prespace*2))

运行结果:

代码语言:javascript
复制
   *
  ***
  *****
 *******
 *********
***********
 *********
 *******
  *****
  ***
   *

补充知识:Python打印高度为2 * n + 1,宽度为 2 * n + 1的菱形,输出一个由’*’组成的菱形,空白的地方用’.’表示。

很感谢百度和各类的问答平台,CSDN在其中占得多数的,帮我解决了一道又一道的难题,所以我来报恩来了。分享我做过的题,得到的知识点,希望可以帮助到在代码世界里苦苦挣扎又不能放弃的同类人。

今天分享我昨天做过的一道题,折磨我两天,但是大佬只用了两分钟。说实在的,还是读书太少。

1.给出一个n,请小明帮忙打印高度为2 * n + 1,宽度为 2 * n + 1的菱形。每次输入一个整型n(1 <= n <= 30)。输出一个由’*‘组成的菱形,空白的地方用’.’表示。

大佬讲用线性规划,控制直角坐标法。

如图:

代码语言:javascript
复制
n=int(input(""))
for i in range(2*n+1):
  for j in range(2*n+1):
    if i<=j+n and i =j-n and i<=3*n-j and i =n-j:
      print("*",end="")
    else:
      print(".",end="")
  print()

2.给出一个n,打印4个边长为n的等腰直角三角形,分别分布在(2 * n + 1) * (2 * n + 1) 的正方形的四个角落 每次输入一个整型n(1 <= n <= 30)。输出一个由’.‘组成的菱形,空白的地方用’*’表示。

代码语言:javascript
复制
for i in range(2*n+1):
  for j in range(2*n+1):
    if i<=j+n and i =j-n and i<=3*n-j and i =n-j:
      print(".",end="")
    else:
      print("*",end="")
  print()

以上这篇Python3实现打印任意宽度的菱形代码就是小编分享给大家的全部内容了,希望能给大家一个参考。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档