2029 - AfisareN
De la Universitas MediaWiki
Cerinţa
Citindu-se un număr natural n şi un şir de caractere să se afişeze de n ori şirul de caractere. De fiecare dată se va trece pe rând nou.
Date de intrare
Fişierul de intrare afisarenin.txt conţine pe prima linie numărul n, iar pe a două şirul de caractere.
Date de ieșire
Fişierul de ieşire afisarenout.txt va afişa pe fiecare linie de la 1 la n şirul de caractere.
Restricţii şi precizări
- 1 ≤ n ≤ 50
- lungimea şirului de caractere este maxim 1.000.000
- daca n = 0 nu se va afisa nimic
Exemplu 1
- afisarenin.txt
3 AfisareN
- afisarenout.txt
Datele de intrare corespund restrictiilor impuse AfisareN AfisareN AfisareN
Exemplu 2
- afisarenin.txt
51 AfisareN
- afisarenout.txt
Datele de intrare nu corespund restrictiilor impuse
Rezolvare
def main():
with open('afisarenin.txt', 'r') as fin, open('afisarenout.txt', 'w') as fout:
n = int(fin.readline().strip())
sir = fin.readline().strip()
# Verifică dacă numărul și șirul respectă restricțiile
if not (1 <= n <= 50) or len(sir) > 1000000 or not all(c.isalpha() or c.isspace() for c in sir):
fout.write("Datele de intrare nu corespund restrictiilor impuse\n")
return
fout.write("Datele de intrare corespund restrictiilor impuse\n")
# Afișează șirul de n ori
for _ in range(n):
fout.write(sir + '\n')
if __name__ == "__main__":
main()