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


Posted in Python onApril 12, 2020

一,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)) #每一行*的个数和*与*之间的间隔,要计算好才能上下对齐
  j += 1
 print('\n')
 i += 1
while i <= 2*x-1: #第二个while组成菱形下半部
 a = x+1
 b = 2*x-1
 while a <= i:
  print(' '*y, end='')
  a += 1
 while b >= i:
  print('*', end=' '*(2*y-1))
  b -= 1
 print('\n')
 i += 1

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

二,python输出*组成的菱形(空心):

代码

x = int(input('请输入最长行的*的个数:'))
y = int(input('请输入每个*之间的间隔:'))
i = 1
#前两个while组成上半部
while i <= 1:  #菱形上顶点单独列出
 k = 1   #写出最左边到*的空格和第一个*
 while k <= x - i: 
  print(' ' * y, end='')
  k += 1
 print('*')
 print('\n')
 i += 1
while i<= x: 
 k = 1
 j = 1
 while k <= x-i:  #这个while写出最左边到左边*的空格数
  print(' '*y,end = '')
  k += 1
 print('*', end=' '*(2*y-1)) #这写出左边*,*相当于占一个空格,所以*后面的空格少一个,才能上下对齐
 while j <= i-2:    #这个while写出左边*到右边*的空格数
  print(' '*2*y,end='')
  j += 1
 print('*')    #这写出右边*
 print('\n')
 i += 1
#后两个while组成下半部
while i <= 2*x-2:  
 k = x+1
 j = 2*x-2
 while k <= i:
  print(' '*y, end='')
  k += 1
 print('*', end=' '*(2*y-1))
 while j-1 >= i:
  print(' ' *2* y, end='')
  j -= 1
 print('*',end='')
 print('\n')
 i += 1
while i <= 2*x-1:  #菱形下顶点单独列出
 k = 2 * x - 1
 while k >= i+2 - x:
  print(' '*y, end='')
  k -= 1
 print('*')
 print('\n')
 i += 1

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

补充知识:Python -- 使用循环语句永 “ * ” 输出一个对线菱形

#使用循环语句输出一个对线菱形
layer = int(input("请输入要打印的层数:")) 
#保证输入的数字是奇数
while layer % 2 == 0:
	#偶数
	layer = int(input("输入层数,必须是一个奇数:"))
#上半部分
for x in range(1, layer // 2 + 2):
	# 先打印空格
	space_num = layer - x
	for y in range(1, space_num + 1):
		print(" ", end="")

	# 在打印*
	star_num = 2 * x - 1
	for y in range(1, star_num + 1):
		if y == 1 or y == star_num or x == layer // 2 + 1 or y == star_num // 2 + 1:
			print("*", end="")
		else:
			print(" ", end="")
	# 换行
	print("") 
#下半部分
for x in range(layer // 2, 0, -1):
	# 先打印空格
	space_num = layer - x
	for y in range(1, space_num + 1): 
		print(" ", end="")

	# 在打印*
	star_num = 2 * x - 1
	for y in range(1, star_num + 1):
		if y == 1 or y == star_num or x == layer // 2 + 1 or y == star_num // 2 + 1:
			print("*", end="")
		else:
			print(" ", end="")
	# 换行
	print("")

输出举例:

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

以上这篇python 使用while循环输出*组成的菱形实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 代码性能优化技巧分享
Aug 07 Python
在python的WEB框架Flask中使用多个配置文件的解决方法
Apr 18 Python
Python实现线程池代码分享
Jun 21 Python
Python装饰器基础详解
Mar 09 Python
使用Django和Python创建Json response的方法
Mar 26 Python
python筛选出两个文件中重复行的方法
May 31 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
对python的输出和输出格式详解
Dec 08 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
Python 如何调试程序崩溃错误
Aug 03 Python
Django如何批量创建Model
Sep 01 Python
Python的property属性详细讲解
Apr 11 Python
Python利用for循环打印星号三角形的案例
Apr 12 #Python
Python3实现打印任意宽度的菱形代码
Apr 12 #Python
pandas使用之宽表变窄表的实现
Apr 12 #Python
python print 格式化输出,动态指定长度的实现
Apr 12 #Python
设置jupyter中DataFrame的显示限制方式
Apr 12 #Python
Python批量将图片灰度化的实现代码
Apr 11 #Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
Apr 11 #Python
You might like
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
php获取图片信息的方法详解
2015/12/10 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
2017/04/18 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
vue列表单项展开收缩功能之this.$refs的详解
2019/05/05 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
python中subprocess批量执行linux命令
2018/04/27 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
python3人脸识别的两种方法
2019/04/25 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
英国第一的市场和亚马逊替代品:OnBuy
2019/03/16 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
思想专业自荐信范文
2013/12/25 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
妇产医师自荐信
2014/01/29 职场文书
电大会计学自我鉴定
2014/02/06 职场文书
三孔导游词
2015/02/05 职场文书
2016十一国庆节感言
2015/12/09 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书