利用列表生成式-打印菱形图案 输入一个字符和行数(奇数),中间用空格隔开 例如输入* 5 输出如下图案(中间一行要求左端顶格,其他行跟中间一行保持居中对齐) * *** ***** *** *
时间: 2023-09-30 15:03:05 浏览: 130
char = input("请输入一个字符:")
n = int(input("请输入行数(奇数):"))
# 上半部分
for i in range(1, n+1, 2):
print((char*i).center(n, ' '))
# 下半部分
for i in range(n-2, 0, -2):
print((char*i).center(n, ' '))
相关问题
用C语言写代码:输入一个整数n(奇数), 表示菱形的行数,打印出一个由符号“*”组成的菱形图案,菱形用字符 * 表示,每行都没有后缀的空格。
```c
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入一个奇数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
1给定一个字符,用它构造一个对角线长为n个字符,倾斜放置的菱形。输入 输入只有一行,包含一个字符和一个数字n(n为奇数),用一个空格隔开。输出
以下是Python代码实现:
```
char, n = input().split()
n = int(n)
# 构造上半部分菱形
for i in range(n // 2 + 1):
# 打印左侧空格
print(' ' * (n // 2 - i), end='')
# 打印字符
print(char * (2 * i + 1))
# 构造下半部分菱形
for i in range(n // 2):
# 打印左侧空格
print(' ' * (i + 1), end='')
# 打印字符
print(char * (n - 2 * (i + 1)))
```
例如,输入:
```
X 7
```
输出:
```
X
XXX
XXXXX
XXXXXXX
XXXXX
XXX
X
```
阅读全文