4274 - Para 1: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
Line 38: Line 38:
==Rezolvare:==
==Rezolvare:==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
n = int(input("Introduceți un număr natural n: "))
def validare_input(n, c):
c = input("Introduceți un caracter c: ")[0]  # se ia primul caracter introdus
    if not 1 <= n <= 20:
        print("n trebuie să fie între 1 și 20")
        return False
    if not 33 <= ord(c) <= 126:
        print("c trebuie să aibă un cod ASCII între 33 și 126")
        return False
    return True


# se afișează paralelogramul
 
for i in range(1, n+1):
def afisare_paralelogram(n, c):
    print((c*i).ljust(n, ' '))
    if not validare_input(n, c):
for i in range(n-1, 0, -1):
        return
     print((c*i).ljust(n, ' '))
 
    for i in range(1, n+1):
        for j in range(1, n+i):
            if j <= i or j > n and j <= n + i - 1:
                print(c, end='')
            else:
                print(' ', end='')
        print()
 
 
def main():
     n = int(input("Introduceți un număr natural n: "))
    c = input("Introduceți un caracter c: ")
 
    afisare_paralelogram(n, c)
 
 
if __name__ == '__main__':
    main()
</syntaxhighlight>
</syntaxhighlight>

Revision as of 15:41, 24 March 2023

Cerinţa:

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_input(n, c):

   if not 1 <= n <= 20:
       print("n trebuie să fie între 1 și 20")
       return False
   if not 33 <= ord(c) <= 126:
       print("c trebuie să aibă un cod ASCII între 33 și 126")
       return False
   return True


def afisare_paralelogram(n, c):

   if not validare_input(n, c):
       return
   for i in range(1, n+1):
       for j in range(1, n+i):
           if j <= i or j > n and j <= n + i - 1:
               print(c, end=)
           else:
               print(' ', end=)
       print()


def main():

   n = int(input("Introduceți un număr natural n: "))
   c = input("Introduceți un caracter c: ")
   afisare_paralelogram(n, c)


if __name__ == '__main__':

   main()

</syntaxhighlight>