1405 - Desen Romb 2: Diferență între versiuni

De la Universitas MediaWiki
Linia 15: Linia 15:


5
5
Ieșire
Ieșire


####*####
<nowiki>####*####</nowiki>
###***###
 
##*****##
<nowiki>###***###</nowiki>
#*******#
 
*********
<nowiki>##*****##</nowiki>
#*******#
 
##*****##
<nowiki>#*******#</nowiki>
###***###
 
####*####
<nowiki>*********</nowiki>
 
<nowiki>#*******#</nowiki>
 
<nowiki>##*****##</nowiki>
 
<nowiki>###***###</nowiki>
 
<nowiki>####*####</nowiki>


==Rezolvare==
==Rezolvare==
<syntaxhighlight lang=“python” line>
<syntaxhighlight lang="python" line="1">
n = int(input("Introduceți un număr: "))
n = int(input("Introduceți un număr: "))



Versiunea de la data 19 martie 2023 20:00

Cerința

Se dă n un număr natural. Să se afișeze un romb de latură n umplut cu caractere * iar spațiul spațiul exterior umplut cu #, ca în exemplu.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran rombul cerut.

Restricții și precizări

1 ≤ n ≤ 10

Exemplu:

Intrare

5

Ieșire

####*####

###***###

##*****##

#*******#

*********

#*******#

##*****##

###***###

####*####

Rezolvare

n = int(input("Introduceți un număr: "))

# Desenarea primelor n/2 linii
for i in range(n//2):
    # Desenarea spațiilor la început
    for j in range(n//2 - i):
        print("#", end="")
    # Desenarea stelelor
    for j in range(i*2 + 1):
        print("*", end="")
    # Desenarea spațiilor la sfârșit
    for j in range(n//2 - i):
        print("#", end="")
    print()

# Desenarea ultimelor n/2 linii
for i in range(n//2, n):
    # Desenarea spațiilor la început
    for j in range(i - n//2 + 1):
        print("#", end="")
    # Desenarea stelelor
    for j in range((n-i)*2 - 1):
        print("*", end="")
    # Desenarea spațiilor la sfârșit
    for j in range(i - n//2 + 1):
        print("#", end="")
    print()