一,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输出*组成的菱形(空心):
代码
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 -- 使用循环语句永 “ * ” 输出一个对线菱形
#使用循环语句输出一个对线菱形 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循环输出*组成的菱形实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“python 使用while循环输出*组成的菱形实例”评论...
更新日志
2024年11月08日
2024年11月08日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]