1376 - Laturi Triunghi: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) |
||
Line 25: | Line 25: | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
n = int( | def validate_input(n): | ||
if not n.isdigit(): | |||
return False | |||
n = int(n) | |||
if n < 1 or n > 10: | |||
return False | |||
return True | |||
def draw_triangle(n): | |||
for | for i in range(1, n+1): | ||
if i == n: | |||
print('* ' * (2 * n - 1)) | |||
if | |||
print( | |||
else: | else: | ||
print(" | print(' '*(n-i) + '*' + ' '*(2*i-3) + (' *' if i > 1 else '')) | ||
def main(): | |||
n = input("Introduceti numarul n: ") | |||
while not validate_input(n): | |||
n = input("Valoarea introdusa nu este valida. Introduceti un numar intre 1 si 10: ") | |||
n = int(n) | |||
draw_triangle(n) | |||
if __name__ == '__main__': | |||
main() | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 15:54, 24 March 2023
Cerința
Se dă n. Afișați un triunghi cu latura de n steluțe gol înăuntru.
Date de intrare
Se va citi de la tastatură numărul n.
Date de ieșire
Se va afișa triunghiul cerut.
Restricții și precizări
1 ≤ n ≤ 10
Exemplu:
Intrare
5 Ieșire
* * * * * * *
- * * * *
Rezolvare
<syntaxhighlight lang="python" line="1"> def validate_input(n):
if not n.isdigit(): return False n = int(n) if n < 1 or n > 10: return False return True
def draw_triangle(n):
for i in range(1, n+1): if i == n: print('* ' * (2 * n - 1)) else: print(' '*(n-i) + '*' + ' '*(2*i-3) + (' *' if i > 1 else ))
def main():
n = input("Introduceti numarul n: ") while not validate_input(n): n = input("Valoarea introdusa nu este valida. Introduceti un numar intre 1 si 10: ") n = int(n) draw_triangle(n)
if __name__ == '__main__':
main()
</syntaxhighlight>