1393 - Desen Romb: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) No edit summary |
||
Line 30: | Line 30: | ||
def validare(n): | def validare(n): | ||
if not isinstance(n, int) or n < 1 or n > 9: | if not isinstance(n, int) or n < 1 or n > 9: | ||
print("n trebuie sa fie un numar natural cu o cifra (1-9)") | |||
return False | |||
return True | |||
def rezolvare(n): | def rezolvare(n): | ||
for i in range(1, n + 1 | for i in range(1, n + 1): | ||
# pe linia i scriu n - i spatii | |||
for i in range(n | for j in range(1, n - i + 1): | ||
print(' ', end='') | |||
# mai scriu 2 * i - 1 valori de i | |||
for j in range(1, 2 * i): | |||
print(i, end='') | |||
print() | |||
for i in range(1, n): | |||
# scriem i spatii pe linia i | |||
for j in range(1, i + 1): | |||
print(' ', end='') | |||
for j in range(1, 2 * (n - i)): | |||
print(n - i, end='') | |||
print() | |||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = int(input("Introduceti un numar natural cu o cifra: ")) | |||
if validare(n): | |||
print("Date de intrare valide") | |||
rezolvare(n) | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 16:00, 26 April 2023
Cerința
Se citește un număr natural n cu o cifră. Afișați pe ecran o figură sub forma de romb formata cu numerele naturale de la 1 la n, ca în exemplu.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran un romb ce conține numerele naturale de la 1 la n
Restricții și precizări
1≤n≤9
Exemplu:
Intrare 5
Ieșire
1 222 33333 4444444
555555555
4444444 33333 222 1
Rezolvare
<syntaxhighlight lang="python" line="1"> def validare(n):
if not isinstance(n, int) or n < 1 or n > 9: print("n trebuie sa fie un numar natural cu o cifra (1-9)") return False return True
def rezolvare(n):
for i in range(1, n + 1): # pe linia i scriu n - i spatii for j in range(1, n - i + 1): print(' ', end=)
# mai scriu 2 * i - 1 valori de i for j in range(1, 2 * i): print(i, end=) print()
for i in range(1, n): # scriem i spatii pe linia i for j in range(1, i + 1): print(' ', end=)
for j in range(1, 2 * (n - i)): print(n - i, end=) print()
if __name__ == '__main__':
n = int(input("Introduceti un numar natural cu o cifra: ")) if validare(n): print("Date de intrare valide") rezolvare(n)
</syntaxhighlight>