1630 - Morisca: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Tag: visualeditor
Paul Ungur (talk | contribs)
Tag: visualeditor
Line 35: Line 35:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
n = int(input("Introduceți un număr: "))
def validare(n):
    if n < 1 or n > 10:
        print("Valoarea introdusa pentru n este incorecta!")
        return False
    return True


# afișăm partea de sus a figurii
def rezolvare(n):
for i in range(1, n+1):
     for i in range(1, n+1):
     for j in range(1, i+1):
         print("*" * i + " " * (2*n - 2*i) + "*" * i)
         print("*", end="")
     for i in range(n, 0, -1):
    for j in range(i, 2*n-i):
         print(" " * (n-1) + "*" * i + " " * (2*n - 2*i) + "*" * i)
        print(" ", end="")
     return
     for j in range(1, i+1):
         print("*", end="")
     print()


# afișăm partea de jos a figurii
def main():
for i in range(n, 0, -1):
     n = int(input("Introduceti valoarea pentru n: "))
     for j in range(1, i+1):
     if validare(n):
        print("*", end="")
         rezolvare(n)
     for j in range(i, 2*n-i):
     return
         print(" ", end="")
 
     for j in range(1, i+1):
main()
        print("*", end="")
    print()
</syntaxhighlight>
</syntaxhighlight>

Revision as of 15:56, 24 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

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):

   for i in range(1, n+1):
       print("*" * i + " " * (2*n - 2*i) + "*" * i)
   for i in range(n, 0, -1):
       print(" " * (n-1) + "*" * i + " " * (2*n - 2*i) + "*" * i)
   return

def main():

   n = int(input("Introduceti valoarea pentru n: "))
   if validare(n):
       rezolvare(n)
   return

main() </syntaxhighlight>