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的加密模块md5、sha、crypt使用实例
Sep 28 Python
python中实现php的var_dump函数功能
Jan 21 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
Python设计模式之桥接模式原理与用法实例分析
Jan 10 Python
python中通过selenium简单操作及元素定位知识点总结
Sep 10 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
Python基于requests库爬取网站信息
Mar 02 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
Python Opencv图像处理基本操作代码详解
Aug 31 Python
python批量修改交换机密码的示例
Sep 22 Python
python中类与对象之间的关系详解
Dec 16 Python
教你使用TensorFlow2识别验证码
Jun 11 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 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
js监听input输入框值的实时变化实例
2017/01/26 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
python提取字典key列表的方法
2015/07/11 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
理解python中生成器用法
2017/12/20 Python
python如何统计序列中元素
2020/07/31 Python
Python数据集切分实例
2018/12/08 Python
python算法题 链表反转详解
2019/07/02 Python
利用python计算时间差(返回天数)
2019/09/07 Python
任意存:BOXFUL
2018/05/21 全球购物
会展中心部门工作职责
2013/11/27 职场文书
应聘收银员个人的求职信
2013/11/30 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
环保倡议书范文
2014/05/12 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang