4275 - Para 2: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
Line 36: Line 36:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
n = int(input("Introduceți un număr natural n: "))
def validare(n, c):
c = input("Introduceți un caracter c: ")
    if not n.isdigit() or int(n) < 1 or int(n) > 20:
        return False
    if not 33 <= ord(c) <= 126:
        return False
    return True


# Validarea datelor de intrare
 
if n < 1 or n > 20:
def rezolvare(n, c):
    print("Numărul introdus nu respectă restricțiile impuse.")
     for i in range(1, n):
elif ord(c) < 33 or ord(c) > 126:
         print(" " * (n - i) + c * i)
    print("Caracterul introdus nu respectă restricțiile impuse.")
     for i in range(n, 0, -1):
else:
         print(" " * (n - i) + c * i)
    # Construirea paralelogramului
 
     for i in range(n):
 
         print(" " * (n-i-1) + c*(i+1))
def main():
     for i in range(n-1):
    n = input("Introduceti numarul n: ")
         print(" " * (i+1) + c*(n-i-1))
    c = input("Introduceti caracterul c: ")
 
    if not validare(n, c):
        print("Date de intrare invalide!")
        return
 
    rezolvare(int(n), c)
 
 
if __name__ == '__main__':
    main()
</syntaxhighlight>
</syntaxhighlight>

Revision as of 15:44, 24 March 2023

Cerinta:

Se citește numărul natural n, şi un caracter c. Să se afișeze următorul paralelogram:

     c
    cc
   ccc
  ....ccc...c
ccc...c
cc...c
....
cc
c

Date de intrare:

Programul citește de la tastatură numărul n şi caracterul c .

Date de ieşire:

Programul afișează pe ecran figura descrisă în enunț.

Restricţii şi precizări:

1 ≤ n ≤ 20 c este un caracter cu codul ASCII cuprins între 33 şi 126, inclusiv.

Exemplu:

Intrare 4 *

Ieșire

  *
 **
***

Rezolvare

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

   if not n.isdigit() or int(n) < 1 or int(n) > 20:
       return False
   if not 33 <= ord(c) <= 126:
       return False
   return True


def rezolvare(n, c):

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


def main():

   n = input("Introduceti numarul n: ")
   c = input("Introduceti caracterul c: ")
   if not validare(n, c):
       print("Date de intrare invalide!")
       return
   rezolvare(int(n), c)


if __name__ == '__main__':

   main()

</syntaxhighlight>