1376 - Laturi Triunghi: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
Line 25: Line 25:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
n = int(input("Introduceti un numar: "))
def validate_input(n):
    if not n.isdigit():
        return False
    n = int(n)
    if n < 1 or n > 10:
        return False
    return True


for i in range(1, n+1):
def draw_triangle(n):
     for j in range(n-i):
     for i in range(1, n+1):
        print(" ", end="")
         if i == n:
    for j in range(1, i+1):
             print('* ' * (2 * n - 1))
         if j == 1 or j == i or i == n:
             print("* ", end="")
         else:
         else:
             print(" ", end="")
             print(' '*(n-i) + '*' + ' '*(2*i-3) + (' *' if i > 1 else ''))
     print()
 
def main():
    n = input("Introduceti numarul n: ")
    while not validate_input(n):
        n = input("Valoarea introdusa nu este valida. Introduceti un numar intre 1 si 10: ")
     n = int(n)
    draw_triangle(n)
 
if __name__ == '__main__':
    main()
</syntaxhighlight>
</syntaxhighlight>

Revision as of 15:54, 24 March 2023

Cerința

Se dă n. Afișați un triunghi cu latura de n steluțe gol înăuntru.

Date de intrare

Se va citi de la tastatură numărul n.

Date de ieșire

Se va afișa triunghiul cerut.

Restricții și precizări

1 ≤ n ≤ 10

Exemplu:

Intrare

5 Ieșire

   *
  * *
 *   *
*     *
  • * * * *

Rezolvare

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

   if not n.isdigit():
       return False
   n = int(n)
   if n < 1 or n > 10:
       return False
   return True

def draw_triangle(n):

   for i in range(1, n+1):
       if i == n:
           print('* ' * (2 * n - 1))
       else:
           print(' '*(n-i) + '*' + ' '*(2*i-3) + (' *' if i > 1 else ))

def main():

   n = input("Introduceti numarul n: ")
   while not validate_input(n):
       n = input("Valoarea introdusa nu este valida. Introduceti un numar intre 1 si 10: ")
   n = int(n)
   draw_triangle(n)

if __name__ == '__main__':

   main()

</syntaxhighlight>