前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python|打印给定高度和笔宽的叉

Python|打印给定高度和笔宽的叉

作者头像
算法与编程之美
发布2020-02-13 17:46:22
6260
发布2020-02-13 17:46:22
举报

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

打印大X

样式要求:

高度=15, 笔宽=3

*** ***

*** ***

*** ***

*** ***

*** ***

*** ***

*****

***

*****

*** ***

*** ***

*** ***

*** ***

*** ***

*** ***

高度=8, 笔宽=5

***** *****

**********

********

******

******

********

**********

***** *****

为了方便检查空格用‘.’代替

解决方案

一个叉大概分三个环节

一是最开始笔宽不交叉中间有空的地方

二是中间交叉但又比笔宽大的地方

三是中间等于笔宽的地方

将三个地方分开实现打印用while循环给定条件就行了。

h,x=map(int,input().split(' '))
 m=h-x-1
 i=0
 while m>0:
      print('.' * i + '*'*x + "."  * (m) + '*'*x + '.' * i)
      m-=2
      i+=1
 s=q=h+x-1-2*(i)
 while q>=x:
      print('.'*i+'*'*q+'.'*i)
      q-=2
      i+=1
 q=q+4
 i=i-1
 while q<=s:
      i=i-1
      print('.' * i + '*' * q + '.' * i)
      q+=2
 m=m+2
 i-=1
 while m<=h-x-1:
      print('.' * i + '*' * x + "."  * (m) + '*' * x + '.' * i)
      m+=2
      i-=1
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

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

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

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