python 如何用*号打印出等腰三角形和菱形

在学习python的循环语句时,老师经常会要求我们用循环语句打印出三角形或菱形,今天俺就来演示演示如何用*打印出图形。

1、首先来看看如何打印出等腰三角形(如图):

layer = int(input("请输入HANG数:"))    #输入行数
for i in range(1,layer+1):             #用i表示每一行
	num1 = layer - i                   #num1表示每一行中空格的数量
	for j in range(num1):              #通过for循环语句打印空格
		print(" ",end="")

	num2 = i*2-1                       #num2表示每一行中的星号的数量
	for j in range(num2):              #通过for循环语句打印星号
		print("*",end="")
	print("")                          #这个语句表示换行

解释:打印等腰三角形需要理解它的图形规律,设i表示行数,每一行星号的个数就等于(i*2-1),每一行星号前面空格的个数就等于总行数减去i。知道了等腰三角形怎么打印,菱形也就很相似了。

2、打印出菱形(如图):

layer = int(input("请输入打印的奇数行数:"))
while layer%2==0:                          #因为打印菱形要上下对称,所以行数要单数
	layer = int(input("必须是奇数,请输入重新打印的行数:"))

for i in range(1,(layer//2+2)):
	num1 = layer//2+1 - i
	for j in range(num1):
		print(" ",end="")

	num2 = 2*i-1
	for j in range(num2):
		print("*",end="")
	print("")

for i in range((layer//2),0,-1)	:
	num1 = layer//2+1 - i
	for j in range(num1):
		print(" ",end="")

	num2 = 2*i-1
	for j in range(num2):
		print("*",end="")
	print("")

 解释:以打印9行为例,前面5行和打印等腰三角形是一样的,后面四行与前面原理相同,只不过在range函数中是反着来的,数从大到小排。

3、打印出空心菱形(如图):

layer = int(input("请输入奇数行数:"))
while layer%2==0:
	layer = int(input("不是奇数,请重新输入:"))

for i in range(1,layer//2+2):
	num1 = layer//2+1-i
	for j in range(num1):
		print(" ",end="")
	num2 = i*2-1
	for j in range(num2):
		if j==0 or j == num2-1:        #判断是否打印第一个或最后一个星号
			print("*",end= "")
		else:
			print(" ",end = "")
	print("")
for i in range(layer//2,0,-1):
	num1 = layer//2+1-i
	for j in range(num1):
		print(" ",end="")
	num2 = i*2-1
	for j in range(num2):
		if j==0 or j == num2-1:
			print("*",end="")
		else:
			print(" ",end = "")
	print("")

 解释:要打印空心菱形,只需在打印星号时进行判断,如果是本行中第一个和最后一个星号就打印星号,否则就打印空格。

4、空心菱形中加入一行星号(如图):

layer = int(input("请输入奇数行数:"))
while layer%2==0:
	layer = int(input("不是奇数,请重新输入:"))

for i in range(1,layer//2+2):
	num1 = layer//2+1-i
	for j in range(num1):
		print(" ",end="")
	num2 = i*2-1
	for j in range(num2):
		if j==0 or j == num2-1 or i == layer//2+1:    #如果i的行数是中间那一行就全打印星号
			print("*",end= "")
		else:
			print(" ",end = "")
	print("")
for i in range(layer//2,0,-1):
	num1 = layer//2+1-i
	for j in range(num1):
		print(" ",end="")
	num2 = i*2-1
	for j in range(num2):
		if j==0 or j == num2-1:
			print("*",end="")
		else:
			print(" ",end = "")
	print("")

 5、空心菱形中加入十字架(如图):

layer = int(input("请输入奇数行数:"))
while layer%2==0:
	layer = int(input("不是奇数,请重新输入:"))

for i in range(1,layer//2+2):
	num1 = layer//2+1-i
	for j in range(num1):
		print(" ",end="")
	num2 = i*2-1
	for j in range(num2):
		if j==0 or j == num2-1 or i == layer//2+1 or j == num2//2:
			print("*",end= "")
		else:
			print(" ",end = "")
	print("")
for i in range(layer//2,0,-1):
	num1 = layer//2+1-i
	for j in range(num1):
		print(" ",end="")
	num2 = i*2-1
	for j in range(num2):
		if j==0 or j == num2-1 or j == num2//2:
			print("*",end="")
		else:
			print(" ",end = "")
	print("")

 6、打印一棵树(如图):

layer = int(input("请输入奇数行数:"))
while layer%2==0:
	layer = int(input("不是奇数,请重新输入:"))

for i in range(1,layer//2+2):
	num1 = layer//2+1-i
	for j in range(num1):
		print(" ",end="")
	num2 = i*2-1
	for j in range(num2):
		if j==0 or j == num2-1 or i == layer//2+1 or j == num2//2:
			print("*",end= "")
		else:
			print(" ",end = "")
	print("")
for i in range(layer//2,0,-1):
	num1 = layer//2+1-i
	for j in range(num1):
		print(" ",end="")
	num2 = i*2-1
	for j in range(num2):
		if j == num2//2:
			print("*",end="")
		else:
			print(" ",end = "")
	print("")

Awen0201
关注 关注
  • 39
    点赞
  • 273
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
python for循环案例-Python利用for循环打印星号三角形的案例
weixin_37988176的博客
10-30 1万+
简单的for循环打印三角形1,for循环方法实现星星三角代码:for i in range(0,5):for j in range(i+1):if i == 4:print("* ",end="")continueif j == 0 or j == i:print("* ",end="")else:print(&quo...
Python打印菱形星号代码方法
01-21
本人是一名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:
利用python打印菱形、三角形以及矩形的方法实例
09-21
最近在开发中遇到一个问题,需要利用python实现菱形、三角形以及矩形等形状,发现网上这方面的资料较少,所以总结分享下,这篇文章主要给大家介绍了关于利用python打印菱形、三角形以及矩形的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
Python 实现直角三角形、等腰三角形
最新发布
2301_82243493的博客
04-29 333
row = 1 #第一行有1个星号,逐渐递增。
Python打印矩形、直角三角形、等腰三角形菱形
11-18
python星号三角形 Python打印矩形、直角三角形、等腰三角形菱形
python打印菱形图案
12-12 2527
当然,我们可以进一步扩展这个函数,使其能够处理更复杂的图案。例如,我们可以添加一个参数来控制菱形中间的填充字符,并使用字符串的重复操作和格式化操作来生成更复杂的图案。的参数,用来控制菱形的大小。这个函数的工作原理与之前的函数相同,但是它更加灵活,可以用来打印不同大小的菱形。例如,我们可以添加一个参数来控制菱形的大小,并使用嵌套的。的参数,用来控制菱形中间的填充字符。这个函数的工作原理与之前的函数相同,但是它能够处理更复杂的图案。参数的值,我们可以生成不同填充字符的菱形图案。# 获取菱形的上半部分。
python打印直角三角形与等腰三角形实例代码
09-18
主要给大家介绍了关于python打印直角三角形与等腰三角形的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
python打印等腰三角形
guleilei0的博客
01-27 1万+
1.程序: for i in range(5): for j in range(0,5-i): print(end=" ") for k in range(5-i,5): print("^",end=" ") print("") 2.分析:首先知道要打印几行,,接着确定打印几列,发现列与行的关系,在里面写个关于列的for循环,而且还要打印等腰三角形,那就再写一个for循环,i每增加1都要换行一次,注意” “是有空格的,否则打不等腰三角形
打印等腰三角形
kriswu_sweetgirl的博客
11-29 242
代码: package org.forloop; import java.util.Scanner; public class Triangle {     public static void main(String[] args) {         Scanner scan=new Scanner(System.in);         System.
python利用字符打印菱形图案_Python打印菱形星号代码方法
weixin_39608134的博客
12-05 1520
本人是一名python初学者,刚刚看到一道有趣的python问题,“用python如何在编译器中打印菱形图案?”因此决定尝试一下,代码不多,仅供参考。代码def printStar(intNum):s = "*"spaceLength = intNumblockCount = int(intNum/2+1)for i in range(spaceLength):result = s.rjust(...
python 打印直角三角形,等边三角形,菱形,正方形的代码
09-21
主要介绍了python 打印直角三角形,等边三角形,菱形,正方形的代码,需要的朋友可以参考下
python 打印等腰三角形
weixin_62421592的博客
11-30 4264
如果我们要打印的三角形由10行星星(*)组成的话 那么我们就可以用到for循环 所以我们第一段代码就是 for i in range(10): 因为这个三角形是等边三角形 所以我们前面5行星星是依次加一的,代码如下 if i<=5: print("*"*i) 这样第一到第五行就是第几行就有第几个* 那么问题来了 因为是等腰三角形 我们如何让第六行和第四行一样拥有4颗小星星呢? 吃了两包辣条 我想了这个代码 (10-i) * "*" 第六次循环的*用总循环次数1...
python打印各种三角形
weixin_34081595的博客
04-18 3009
# 打印左下角三角形:for i in range(10):之后,range(0,i)# 打印右上角三角形:在左下角的基础上,将"-"变成" "空格 for i in range(10): for j in range(0,i): print("-",end=" ") for j in range(i,10): print("$",...
Python打印等腰三角形
weixin_44200328的博客
10-12 1017
for i in range(1,8,2): for j in range(1,8-i): print(" ",end="") print("* "*i) 输结果如下:
python--输等腰三角形
热门推荐
xiaohuai0444167的博客
03-29 3万+
使用3个for循环 for i in range(1,5):#等腰三角形 for j in range(1,5-i): print(' ',end=' ') for k in range(2*i-1): print('*',end=' ') print() 输结果 ...
如何用python打印等腰三角形
qq_43742526的博客
09-24 2万+
首先先来观察一下等腰三角形有什么特征 通过观察图片,我们可以发现这几个特征: 1、可知第一行有1个✳,第二行三个✳,第三行5个✳,可知第n行为2(n-1)+1✳ 2、✳前面还有空格,可知第一行有5个空格,第二行有4个空格,第三行便有3个,依次类推即可,如果把三角形倒过来看,便会发现,第n行有(n-1)个空格,这样更好理解 根据这些特征,我们可以这样写代码: for i in range(6):...
python_打印等腰三角形
weixin_44190704的博客
07-25 1040
row=1 while row<=5: kg=1 while kg<=5-row: #用变量kg和while循环控制空格的输数量 print(' ',end='') #print默认为打印一行,结尾加空格.end=''表示末尾不换行,传递一个空字符串 kg+=1 pass star=1 while star<=2*row-1 #打印每一行的星星 print('*',end)
Python打印等腰三角形
西瓜皮儿的皮儿
03-10 4552
使用python打印等腰三角形。 num = 4 n = 1 while n &lt;= num: num_space = num - n num_star = 2*n - 1 print(' ' * num_space,end="") print('*'*num_star) n += 1 print() ...
python 等腰三角形 小球落地
liDE博客
11-14 2746
#等腰三角 for i in range(1,6):     for j in range(5-i):          print j*'',     print (2*i-1)*'*' print '\n','是等腰三角形' #倒三角 for i in reversed(range(1,6)):     for j in range(5-i):          print
Python打印来一个用菱形组成的等腰三角形
05-31
好的,下面是用Python打印一个用菱形组成的等腰三角形的代码: ```python n = int(input("请输入三角形的行数(必须为奇数):")) # 打印上半部分 for i in range(1, n+1, 2): s = '*' * i print(s.center(n, ' ')) # 打印下半部分 for i in range(n-2, 0, -2): s = '*' * i print(s.center(n, ' ')) ``` 输结果: ``` 请输入三角形的行数(必须为奇数):7 * *** ***** ******* ***** *** * ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • python 如何用*号打印出等腰三角形和菱形 40645
  • python中常见的排序:选择排序,冒泡排序 2982
  • 在rhel8环境下配置本地yum源仓库: 2098
  • HCIA重点知识 2067
  • python中的IO流 1948

最新评论

  • python 如何用*号打印出等腰三角形和菱形

    CAN484: 为什么打印等腰三角形的时候星号会正好居中啊表情包

  • python 如何用*号打印出等腰三角形和菱形

    小清新↣: 为什么第一个图的最后print(“”)的括号被判定为无效字符啊

  • python中常见的排序:选择排序,冒泡排序

    文盲(笨笨): 选择排序那里内重循环得到len吧不用➖1

  • python 如何用*号打印出等腰三角形和菱形

    Awen0201: 把后面的注释删了就可以用了

  • python 如何用*号打印出等腰三角形和菱形

    knowjadecold: 不能用唉

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • NGINX负载均衡实验
  • 编写Dockerfile制作自定义镜像的两个实验
  • 安装搭建私有仓库 Harbor
2023年16篇
2022年8篇
2021年7篇

目录

目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源孝字男孩起名郭姓起什么名字比较好听赶快公司八字起什么名字好油纸伞起名开五金店起什么名字好?苏俄再起石家庄起名改名公司企业起名大全制造业诱欢盘锦市交警支队太岁priest养鸽子赚钱吗小孩起名宝典新生儿英文名是怎么起的三个字的牌子起名狗狗起名walmart.com给饭馆起名大全奇迹mu名字不知我者谓我何求vs2010旗舰版骞字起名是不是不好1pondo寓意好的成语起名字啊属猪的陈姓起名大全给生鲜超市起个名餐饮店面取名起名大全宝宝起名大全四字大全超级终端下载淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化