Beginner to Programming
My code is below , the spaces within diamond is shown with 'B' and spaces outside diamond are shown with X.
n=5
for i in range(n):
for j in range(n,i,-1):
if j==i 1:
print('*',end='')
break
print('X',end='')
for j in range(i):
print('B',end='')
for j in range(i 1):
if i==0:
continue
if j==i-1:
print('*',end='')
break
print('B',end='')
print('')
#Downward
for i in range(n-1):
for j in range(i 2):
if j==i 1:
print('*',end='')
break
print('X',end='')
for j in range(n-1,i 2,-1):
print('B',end='')
for j in range(n-1,i,-1):
if i==n-2:
break
if j==i 1:
print('*')
break
print('B',end='')
print('')
Result:
XXXX*
XXX*B*
XX*BBB*
X*BBBBB*
*BBBBBBB*
X*BBBBB*
XX*BBB*
XXX*B*
XXXX*
Despite equal number of 'B' and 'X' , i don't know which part of code is introducing a space between lines.
CodePudding user response:
You can simply use it to print Diamond shape of the desired height.
row = int(input('Enter number of row: '))
# Upper part of hollow diamond
for i in range(1, row 1):
for j in range(1,row-i 1):
print(" ", end="")
for j in range(1, 2*i):
if j==1 or j==2*i-1:
print("*", end="")
else:
print(" ", end="")
print()
# Lower part of hollow diamond
for i in range(row-1,0, -1):
for j in range(1,row-i 1):
print(" ", end="")
for j in range(1, 2*i):
if j==1 or j==2*i-1:
print("*", end="")
else:
CodePudding user response:
So I found it,
for j in range(n-1,i,-1):
if i==n-2:
break
if j==i 1:
print('*', end='') # <---This line had the problem
break
print('B',end='')
