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中的命令行参数解析工具之docopt详解
Mar 27 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
Jan 23 Python
PYTHON基础-时间日期处理小结
May 05 Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
使用python 将图片复制到系统剪贴中
Dec 13 Python
python实现滑雪者小游戏
Feb 22 Python
Selenium自动化测试工具使用方法汇总
Jun 12 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 Python
如何使用pdb进行Python调试
Jun 30 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读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
javascript的函数作用域
2014/11/12 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
JavaScript中的闭包
2016/02/24 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
JavaScript数据结构之二叉树的计数算法示例
2017/04/13 Javascript
js图片上传的封装代码
2017/08/01 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
layui table设置前台过滤转义等方法
2018/08/17 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
微信小程序实现首页弹出广告
2020/12/03 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
Python实现的金山快盘的签到程序
2013/01/17 Python
Python3中多线程编程的队列运作示例
2015/04/16 Python
Python解析json文件相关知识学习
2016/03/01 Python
import的本质解析
2017/10/30 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
物流专业毕业生推荐信范文
2013/11/18 职场文书
3的组成教学反思
2014/04/30 职场文书
大学生应聘求职信
2014/05/26 职场文书
国际贸易专业求职信
2014/06/04 职场文书
2015年部门工作总结范文
2015/03/31 职场文书
办公用品管理制度
2015/08/04 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书