酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

用输出3个菱形(函数)

要编写一个函数来输出不同大小的菱形,我们可以首先定义一个函数,该函数接受一个参数(比如`n`),这个参数决定了菱形上半部分(不包括中间行)的行数。由于菱形的对称性,下半部分也将有相同的行数。中间行(即菱形最宽的部分)将包含`2*n-1`个字符(假设我们使用空格和星号`*`来绘制菱形)。 下面是一个Python函数的示例,该函数可以输出指定大小的菱形: ```python def print_diamond(n): # 打印菱形的上半部分(包括中间行) for i in range(n): # 打印前导空格 print(' ' * (n - i - 1), end='') # 打印星号 print('*' * (2 * i + 1)) # 打印菱形的下半部分(不包括中间行,因为它已经在上半部分打印了) for i in range(n - 2, -1, -1): # 打印前导空格 print(' ' * (n - i - 1), end='') # 打印星号 print('*' * (2 * i + 1)) # 调用函数打印3个不同大小的菱形 print_diamond(3) print_diamond(4) print_diamond(5) ``` 这段代码首先定义了一个`print_diamond`函数,它接受一个参数`n`,用于控制菱形的大小。函数内部有两个循环:第一个循环用于打印菱形的上半部分(包括中间行),第二个循环用于打印菱形的下半部分(不包括中间行,因为它已经在第一个循环中被打印了)。 在第一个循环中,我们使用`range(n)`来迭代上半部分的每一行,并使用`n - i - 1`来计算每行星号前的空格数,以确保菱形居中。星号的数量是`2 * i + 1`,这确保了随着行数的增加,星号的数量也在增加。 第二个循环与第一个循环类似,但它以递减的方式迭代(`range(n - 2, -1, -1)`),用于打印下半部分的星号。注意,我们从`n-2`开始迭代,因为中间行已经在第一个循环中被打印了。 我们通过调用`print_diamond`函数三次,并分别传入不同的`n`值(3、4、5),来打印出三个不同大小的菱形。 [2024-09-30 00:48:00 | AI写代码神器 | 521点数解答]

相关提问