您的位置:首页技术文章
文章详情页

python 使用while循环输出*组成的菱形实例

【字号: 日期:2022-07-30 11:42:51浏览:7作者:猪猪

一,python输出*组成的菱形(实心):

python代码:

x = int(input(’请输入最长行的*的个数:’))y = int(input(’请输入每个*之间的间隔:’))i = 1while 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 += 1while 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 += 1while 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 += 1while 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 - xfor y in range(1, space_num + 1):print(' ', end='')# 在打印*star_num = 2 * x - 1for 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 - xfor y in range(1, space_num + 1): print(' ', end='')# 在打印*star_num = 2 * x - 1for 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 编程
相关文章: