1393 - Desen Romb: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) |
||
Line 28: | Line 28: | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
n | def validare(n): | ||
if not isinstance(n, int) or n < 1 or n > 9: | |||
raise ValueError("n trebuie sa fie un numar natural cu o cifra (1-9)") | |||
def rezolvare(n): | |||
for i in range(1, n+1): | for i in range(1, n + 1, 2): | ||
print(" " * ((n - i) // 2), str(i) * i, " " * ((n - i) // 2), sep="") | |||
for i in range(n - 2, 0, -2): | |||
print(" " * ((n - i) // 2), str(i) * i, " " * ((n - i) // 2), sep="") | |||
def main(): | |||
n = int(input("Introduceti un numar natural cu o cifra: ")) | |||
validare(n) | |||
rezolvare(n) | |||
if __name__ == '__main__': | |||
main() | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 10:56, 25 March 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: raise ValueError("n trebuie sa fie un numar natural cu o cifra (1-9)")
def rezolvare(n):
for i in range(1, n + 1, 2): print(" " * ((n - i) // 2), str(i) * i, " " * ((n - i) // 2), sep="") for i in range(n - 2, 0, -2): print(" " * ((n - i) // 2), str(i) * i, " " * ((n - i) // 2), sep="")
def main():
n = int(input("Introduceti un numar natural cu o cifra: ")) validare(n) rezolvare(n)
if __name__ == '__main__':
main()
</syntaxhighlight>