0351 - Piramida: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) No edit summary |
||
Line 28: | Line 28: | ||
==Rezolvare:== | ==Rezolvare:== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
def | def validare_date(n): | ||
if not n.isdigit(): | if not n.isdigit(): | ||
return False | return False | ||
Line 37: | Line 37: | ||
def | def construire_piramid(n): | ||
piramid = [] | |||
for i in range(1, n + 1): | for i in range(1, n + 1): | ||
row = [] | row = [] | ||
for j in range(1, i + 1): | for j in range(1, i + 1): | ||
row.append(j) | row.append(j) | ||
piramid.append(row) | |||
return | return piramid | ||
def | def afisare_piramid(pyramid): | ||
for row in pyramid: | for row in pyramid: | ||
row_str = " ".join([str(num) for num in row]) | row_str = " ".join([str(num) for num in row]) | ||
Line 53: | Line 53: | ||
if __name__ == '__main__': | |||
n = input("Introduceti n: ") | n = input("Introduceti n: ") | ||
while not | while not validare_date(n): | ||
print("Va rugam introduceti un numar natural intre 1 si 20.") | print("Va rugam introduceti un numar natural intre 1 si 20.") | ||
n = input("Introduceti n: ") | n = input("Introduceti n: ") | ||
n = int(n) | if validare_date(n): | ||
print("Date de intrare valide") | |||
n = int(n) | |||
piramid = construire_piramid(n) | |||
afisare_piramid(piramid) | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 15:54, 26 April 2023
Cerinţa:
Se citește numărul natural n. Să se afișeze următoarea piramidă de numere: 1 1 2 1 2 3 ....... 1 2 3 ... n
Date de intrare:
Programul citește de la tastatură numărul n.
Date de ieşire:
Programul afișează pe ecran numărul 1, pe a doua linie numerele 1 2, pe a treia linie numerele 1 2 3, etc, pe a n-a linie numerele 1 2 3 ... n. Pe fiecare linie numerele sunt separate prin exact un spațiu.
Restricţii şi precizări:
1 ≤ n ≤ 20
Exemplu:
Date de intrare 4
Date de ieșire 1 1 2 1 2 3 1 2 3 4
Rezolvare:
<syntaxhighlight lang="python" line="1"> def validare_date(n):
if not n.isdigit(): return False n = int(n) if n < 1 or n > 20: return False return True
def construire_piramid(n):
piramid = [] for i in range(1, n + 1): row = [] for j in range(1, i + 1): row.append(j) piramid.append(row) return piramid
def afisare_piramid(pyramid):
for row in pyramid: row_str = " ".join([str(num) for num in row]) print(row_str)
if __name__ == '__main__':
n = input("Introduceti n: ") while not validare_date(n): print("Va rugam introduceti un numar natural intre 1 si 20.") n = input("Introduceti n: ") if validare_date(n): print("Date de intrare valide") n = int(n) piramid = construire_piramid(n) afisare_piramid(piramid)
</syntaxhighlight>