0351 - Piramida
De la Universitas MediaWiki
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:
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 rand in pyramid:
rand_str = " ".join([str(num) for num in rand])
print(rand_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)
else:
print("Date de intrare invalide")