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中二维阵列的变换实例
Oct 09 Python
Python字符串和文件操作常用函数分析
Apr 08 Python
Python2.x利用commands模块执行Linux shell命令
Mar 11 Python
python实现发送邮件及附件功能
Mar 02 Python
用十张图详解TensorFlow数据读取机制(附代码)
Feb 06 Python
python: 判断tuple、list、dict是否为空的方法
Oct 22 Python
在python下读取并展示raw格式的图片实例
Jan 24 Python
python DataFrame转dict字典过程详解
Dec 26 Python
PyTorch和Keras计算模型参数的例子
Jan 02 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
Java byte数组操纵方式代码实例解析
Jul 22 Python
Python如何设置指定窗口为前台活动窗口
Aug 12 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中使用unset销毁变量并内存释放问题
2012/07/05 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
php制作的简单验证码识别代码
2016/01/26 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
两种方法解决javascript url post 特殊字符转义 + &amp; #
2016/04/13 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
python实现文本文件合并
2015/12/29 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
浅谈python可视化包Bokeh
2018/02/07 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
python各层级目录下import方法代码实例
2020/01/20 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
高三语文教学反思
2014/01/15 职场文书
高三政治教学反思
2014/02/06 职场文书
人民教师求职自荐信
2014/03/12 职场文书
公司授权委托书范本
2014/04/03 职场文书
商业街策划方案
2014/05/31 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
合同范本之电脑出租
2019/08/13 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书
react中的DOM操作实现
2021/06/30 Javascript
JavaScript前端面试组合函数
2022/06/21 Javascript