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静态方法实例
Jan 14 Python
Python简单日志处理类分享
Feb 14 Python
python实现线程池的方法
Jun 30 Python
python使用clear方法清除字典内全部数据实例
Jul 11 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
运动检测ViBe算法python实现代码
Jan 09 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
Python xlrd/xlwt 创建excel文件及常用操作
Sep 24 Python
python 基于pygame实现俄罗斯方块
Mar 02 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的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
JavaScript中使用Math.floor()方法对数字取整
2015/06/15 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
js实现产品缩略图效果
2017/03/10 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
微信小程序实现多宫格抽奖活动
2020/04/15 Javascript
vue实现配置全局访问路径头(axios)
2019/11/01 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
Python3处理文件中每个词的方法
2015/05/22 Python
python并发编程之线程实例解析
2017/12/27 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
python2.7实现爬虫网页数据
2018/05/25 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
2019/10/17 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
详解Python中的文件操作
2021/01/14 Python
介绍一下OSI七层模型
2012/07/03 面试题
18岁生日感言
2014/01/12 职场文书
安全生产月活动总结
2014/05/04 职场文书
小学教师见习总结
2015/06/23 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
go语言求任意类型切片的长度操作
2021/04/26 Golang
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记