1376 - Laturi Triunghi: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
No edit summary
Line 25: Line 25:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
def validate_input(n):
def validare_date(n):
     if not n.isdigit():
     if not n.isdigit():
         return False
         return False
Line 33: Line 33:
     return True
     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():
def afisare_triunghi(n):
    margine = '*'
    liber = ' '
    start = 2
    baza = 4
    for temp in range(start, n + 1):
        for temp2 in range(0, n - temp + 1):
            print(liber, end="")
        if temp > start:
            print(margine + " ", end="")
            for temp3 in range(baza, temp + 1):
                print(liber + " ", end="")
        print(margine + " ")
    for temp4 in range(baza, n + baza):
        print(margine + " ", end="")
    print()
 
 
if __name__ == '__main__':
     n = input("Introduceti numarul n: ")
     n = input("Introduceti numarul n: ")
     while not validate_input(n):
     while not validare_date(n):
         n = input("Valoarea introdusa nu este valida. Introduceti un numar intre 1 si 10: ")
         n = input("Valoarea introdusa nu este valida. Introduceti un numar intre 1 si 10: ")
     n = int(n)
     if validare_date(n):
    draw_triangle(n)
        print("Date de intrare valide")
 
        n = int(n)
if __name__ == '__main__':
        afisare_triunghi(n)
    main()
</syntaxhighlight>
</syntaxhighlight>

Revision as of 15:58, 26 April 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 validare_date(n):

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


def afisare_triunghi(n):

   margine = '*'
   liber = ' '
   start = 2
   baza = 4
   for temp in range(start, n + 1):
       for temp2 in range(0, n - temp + 1):
           print(liber, end="")
       if temp > start:
           print(margine + " ", end="")
           for temp3 in range(baza, temp + 1):
               print(liber + " ", end="")
       print(margine + " ")
   for temp4 in range(baza, n + baza):
       print(margine + " ", end="")
   print()


if __name__ == '__main__':

   n = input("Introduceti numarul n: ")
   while not validare_date(n):
       n = input("Valoarea introdusa nu este valida. Introduceti un numar intre 1 si 10: ")
   if validare_date(n):
       print("Date de intrare valide")
       n = int(n)
       afisare_triunghi(n)

</syntaxhighlight>