编写程序,输入菱形的高,输出由星号勾勒出的菱形。
输入格式
行数(正整数)
输出格式
若行数为奇数,则显示星号勾勒出的菱形,否则显示错误信息。
输入样例1
5
输出样例1
*
def printL(L):
for i in range(1, L + 1):
if i <= (L + 1) // 2:
cou = 2 * i - 1
else:
cou = 2 * (L - i) + 1
if cou != 1:
string = "*" + ' ' * (cou - 2) + '*'
else:
string = '*'
print("{:^{}}".format(string, 2 * L))
n = int(input(">>>"))
if n % 2 == 0:
print("Error")
else:
printL(n)
'''
--result
>>>11
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
'''
应该是显示空心菱形,但是不知道为什么题目出来就乱了……
def printL(L, char='* '):
for i in range(L, 0, -1):
if i == 1 or i == L:
print(' ' *i + char *L)
else:
print(' ' *i + char + ' ' *(L -2) + char)
n = int(input(">>>"))
if n % 2 == 0:
print("Error")
else:
printL(5)
'''
--result
* * * * *
* *
* *
* *
* * * * *
'''
m = int(input())
if m%2 == 0:
print('Error')
else:
print(' '*(m//2)+'*')
for i in range(2,m//2+2):
print(' '*(m//2-i+1),end='')
print('*',end='')
print(' '*(2*i-3),end='')
print('*')
for j in range(1,m//2):
print(' '*j,end='')
print('*',end='')
print(' '*(m-2*j-2),end='')
print('*')
if m>1:
print(' '*(m//2)+'*')
```