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脚本实现查找webshell的方法
Jul 31 Python
深入理解NumPy简明教程---数组3(组合)
Dec 17 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
python多进程和多线程究竟谁更快(详解)
May 29 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
Jul 31 Python
pygame实现成语填空游戏
Oct 29 Python
NumPy统计函数的实现方法
Jan 21 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
tensorflow图像裁剪进行数据增强操作
Jun 30 Python
容易被忽略的Python内置类型
Sep 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
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
php检测图片木马多进制编程实践
2013/04/11 PHP
php中session使用示例
2014/03/29 PHP
php无限极分类实现方法分析
2019/07/04 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
Jquery实现上下移动和排序代码
2016/10/17 Javascript
js a标签点击事件
2017/03/30 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
vue-cli的eslint相关用法
2017/09/29 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
在Django框架中设置语言偏好的教程
2015/07/27 Python
使用python生成目录树
2018/03/29 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
会计电算化专业应届大学生求职信
2013/10/22 职场文书
标准毕业生自荐信范文
2013/11/04 职场文书
白酒市场开发计划书
2014/01/09 职场文书
《散步》教学反思
2014/03/02 职场文书
意向书范文
2014/03/31 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
教师节活动总结
2014/08/29 职场文书
反对四风自我剖析材料
2014/10/07 职场文书
先进班组材料范文
2014/12/25 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL