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 相关文章推荐
Django框架教程之正则表达式URL误区详解
Jan 28 Python
Python3内置模块之base64编解码方法详解
Jul 13 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
python 读写文件包含多种编码格式的解决方式
Dec 20 Python
解决Python logging模块无法正常输出日志的问题
Feb 21 Python
pytorch 常用函数 max ,eq说明
Jun 28 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 Python
Python趣味入门教程之循环语句while
Aug 26 Python
Python Http请求json解析库用法解析
Nov 28 Python
python中操作文件的模块的方法总结
Feb 04 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类
2006/07/15 PHP
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
php文件上传表单摘自drupal的代码
2011/02/15 PHP
javascript动画浅析
2012/08/30 Javascript
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
Vue Socket.io源码解读
2018/02/07 Javascript
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
Python简单进程锁代码实例
2015/04/27 Python
Python 多线程的实例详解
2017/09/07 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
jupyter 添加不同内核的操作
2021/02/06 Python
美国领先的礼品卡网站:GiftCards.com
2016/11/02 全球购物
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
介绍Java的内部类
2012/10/27 面试题
前台文员岗位职责
2013/12/28 职场文书
教师旷工检讨书
2014/01/18 职场文书
机关职员工作检讨书
2014/10/23 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
获奖感言一句话
2015/07/31 职场文书
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js