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使用Scrapy爬取妹子图
May 28 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
Python简单获取自身外网IP的方法
Sep 18 Python
Python中动态检测编码chardet的使用教程
Jul 06 Python
python实现批量解析邮件并下载附件
Jun 19 Python
Python3 读、写Excel文件的操作方法
Oct 20 Python
python如何实现从视频中提取每秒图片
Oct 22 Python
python机器学习库xgboost的使用
Jan 20 Python
python数据爬下来保存的位置
Feb 17 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 Python
如何使用Python对NetCDF数据做空间相关分析
Apr 21 Python
Python实现byte转integer
Jun 03 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
Win下如何安装PHP的APC拓展
2013/08/07 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
javascript中的几个运算符
2007/06/29 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
js 限制数字 js限制输入实现代码
2012/12/04 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
关于微信小程序登录的那些事
2019/01/08 Javascript
防止Layui form表单重复提交的实现方法
2019/09/10 Javascript
在类Unix系统上开始Python3编程入门
2015/08/20 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
学生学习总结的自我评价
2013/10/22 职场文书
个人简历自荐信
2013/12/05 职场文书
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
小学学校评估方案
2014/06/08 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
党校学习党性分析材料
2014/12/19 职场文书
中秋客户感谢信
2015/01/22 职场文书
大雁塔英文导游词
2015/02/10 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
晚会开场白和结束语
2015/05/29 职场文书
党小组考察意见
2015/06/02 职场文书