1564 - Triunghi Dublu: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
Line 43: Line 43:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
n = int(input())
def validate_input(n):
    if 1 <= n <= 10:
        return True
    else:
        return False


# afișarea primului triunghi
i = 1
while i <= n:
    print('*' * i)
    i += 1


# afișarea spațiilor între triunghiuri
def print_triangles(n):
i = n - 1
    for i in range(1, n+1):
while i >= 1:
        for j in range(1, i+1):
    print(' ' * (n - i) + '*' * i)
            print("*", end="")
     i -= 1
        print()
 
 
def print_inverted_triangles(n):
    for i in range(n, 0, -1):
        for j in range(1, i+1):
            print(" ", end="")
        for k in range(i, n+1):
            print("*", end="")
        print()
 
 
def main():
     n = int(input("Introduceti un numar: "))
    if not validate_input(n):
        print("Input invalid. Numarul trebuie sa fie intre 1 si 10.")
        return
    print_triangles(n)
    print_inverted_triangles(n)
 
 
if __name__ == '__main__':
    main()
 
</syntaxhighlight>
</syntaxhighlight>

Revision as of 10:53, 25 March 2023

Cerința

Se dă un număr n. Afișați figura din exemplu.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran figura.

Restricții și precizări

1 ≤ n ≤ 10

Exemplu:

Intrare

5

Ieșire

*

**

***

****

*****

*

**

***

****

*****

Explicație

S-au afișat 2 triunghiuri, formate din 15 steluțe fiecare.

Rezolvare

<syntaxhighlight lang="python" line="1"> def validate_input(n):

   if 1 <= n <= 10:
       return True
   else:
       return False


def print_triangles(n):

   for i in range(1, n+1):
       for j in range(1, i+1):
           print("*", end="")
       print()


def print_inverted_triangles(n):

   for i in range(n, 0, -1):
       for j in range(1, i+1):
           print(" ", end="")
       for k in range(i, n+1):
           print("*", end="")
       print()


def main():

   n = int(input("Introduceti un numar: "))
   if not validate_input(n):
       print("Input invalid. Numarul trebuie sa fie intre 1 si 10.")
       return
   print_triangles(n)
   print_inverted_triangles(n)


if __name__ == '__main__':

   main()

</syntaxhighlight>