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开发心得
Jul 16 Python
python实现斐波那契递归函数的方法
Sep 08 Python
python简单实现旋转图片的方法
May 30 Python
基于python的字节编译详解
Sep 20 Python
python生成ppt的方法
Jun 07 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
Python3常见函数range()用法详解
Dec 30 Python
Tensorflow限制CPU个数实例
Feb 06 Python
python numpy矩阵信息说明,shape,size,dtype
May 22 Python
python 使用多线程创建一个Buffer缓存器的实现思路
Jul 02 Python
Python基础详解之描述符
Apr 28 Python
python中的装饰器该如何使用
Jun 18 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通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
JavaScript库 开发规则
2009/01/31 Javascript
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
python合并文本文件示例
2014/02/07 Python
python解析xml文件操作实例
2014/10/05 Python
Django 前后台的数据传递的方法
2017/08/08 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
结构和类有什么异同
2012/07/16 面试题
STP的判定过程
2012/10/01 面试题
中学生在校期间的自我评价分享
2013/11/13 职场文书
4s客服专员岗位职责
2013/12/01 职场文书
自主招生学校推荐信
2014/09/26 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏