1630 - Morisca: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
No edit summary
Line 42: Line 42:


def rezolvare(n):
def rezolvare(n):
     for i in range(1, n+1):
    # Prima parte a figurii
         print("*" * i + " " * (2*n - 2*i) + "*" * i)
     for i in range(1, n + 1):
         for j in range(1, i + 1):
            print('*', end='')
        for k in range(1, n * 3 - i * 2 + 1):
            print(' ', end='')
        for f in range(1, i + 1):
            print('*', end='')
        print()
 
    # A doua parte a figurii
    for i in range(1, n + 1):
        for j in range(1, n + 1):
            print(' ', end='')
        for k in range(1, n + 1):
            print('*', end='')
        print()
 
    # A treia parte a figurii
     for i in range(n, 0, -1):
     for i in range(n, 0, -1):
         print(" " * (n-1) + "*" * i + " " * (2*n - 2*i) + "*" * i)
         for j in range(1, i + 1):
    return
            print('*', end='')
        for k in range(1, n * 3 - i * 2 + 1):
            print(' ', end='')
        for f in range(1, i + 1):
            print('*', end='')
        print()


def main():
if __name__ == '__main__':
     n = int(input("Introduceti valoarea pentru n: "))
     n = int(input("Introduceti valoarea pentru n: "))
     if validare(n):
     if validare(n):
        print("Date de intrare valide")
         rezolvare(n)
         rezolvare(n)
    return
main()
</syntaxhighlight>
</syntaxhighlight>

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

4

Ieșire

* * ** ** *** *** **** **** **** **** **** **** **** **** *** *** ** ** * *

Explicație

S-au afișat 4 triunghiuri și un pătrat, figuri formate din caracterul steluță.

Rezolvare

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

   if n < 1 or n > 10:
       print("Valoarea introdusa pentru n este incorecta!")
       return False
   return True

def rezolvare(n):

   # Prima parte a figurii
   for i in range(1, n + 1):
       for j in range(1, i + 1):
           print('*', end=)
       for k in range(1, n * 3 - i * 2 + 1):
           print(' ', end=)
       for f in range(1, i + 1):
           print('*', end=)
       print()
   # A doua parte a figurii
   for i in range(1, n + 1):
       for j in range(1, n + 1):
           print(' ', end=)
       for k in range(1, n + 1):
           print('*', end=)
       print()
   # A treia parte a figurii
   for i in range(n, 0, -1):
       for j in range(1, i + 1):
           print('*', end=)
       for k in range(1, n * 3 - i * 2 + 1):
           print(' ', end=)
       for f in range(1, i + 1):
           print('*', end=)
       print()

if __name__ == '__main__':

   n = int(input("Introduceti valoarea pentru n: "))
   if validare(n):
       print("Date de intrare valide")
       rezolvare(n)

</syntaxhighlight>