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中的内置函数getattr()介绍及示例
Jul 20 Python
win7上python2.7连接mysql数据库的方法
Jan 14 Python
利用python将图片转换成excel文档格式
Dec 30 Python
python实现媒体播放器功能
Feb 11 Python
使用requests库制作Python爬虫
Mar 25 Python
python实现点对点聊天程序
Jul 28 Python
基于sklearn实现Bagging算法(python)
Jul 11 Python
浅谈tensorflow之内存暴涨问题
Feb 05 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
Python实时监控网站浏览记录实现过程详解
Jul 14 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 Python
Python 实现进度条的六种方式
Jan 06 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语法(5)
2006/10/09 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
php实现异步数据调用的方法
2015/12/24 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
jquery select选中的一个小问题
2009/10/11 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
详解Vue.js 响应接口
2020/07/04 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
python如何绘制疫情图
2020/09/16 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
研究生给导师的自荐信
2015/03/06 职场文书
保留意见审计报告
2015/06/05 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
详解Flask开发技巧之异常处理
2021/06/15 Python
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
Python 数据可视化之Bokeh详解
2021/11/02 Python
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫