3112 - Bac Cuvinte: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == Cerinţa == Cerința Într-un text cu cel mult '''100''' de caractere cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu. Scrieți un program care citește de la tastatură un text de tipul precizat, apoi un număr natural, '''n, n∈[1,100)''', şi afişează pe ecran, pe linii separate, cuvintele din text care au exact '''n''' litere. Cuvintele sunt afișate în ordinea apariției lor în text, iar dacă n...
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Cerinţa ==
== Cerinţa ==
Cerința
Într-un text cu cel mult '''100''' de caractere cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu. Scrieți un program care citește de la tastatură un text de tipul precizat, apoi un număr natural, '''n, n∈[1,100)''', şi afişează pe ecran, pe linii separate, cuvintele din text care au exact '''n''' litere. Cuvintele sunt afișate în ordinea apariției lor în text, iar dacă nu există niciun astfel de cuvânt, se afișează pe ecran mesajul '''nu exista'''.
Într-un text cu cel mult '''100''' de caractere cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu. Scrieți un program care citește de la tastatură un text de tipul precizat, apoi un număr natural, '''n, n∈[1,100)''', şi afişează pe ecran, pe linii separate, cuvintele din text care au exact '''n''' litere. Cuvintele sunt afișate în ordinea apariției lor în text, iar dacă nu există niciun astfel de cuvânt, se afișează pe ecran mesajul '''nu exista'''.
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numărul textul dat, apoi numărul '''n'''.
Programul citește de la tastatură numărul textul dat, apoi numărul '''n'''.
Line 9: Line 9:
* 1 ⩽ n ⩽ 100
* 1 ⩽ n ⩽ 100
* textul conține cel mult '''100''' de caractere; cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu
* textul conține cel mult '''100''' de caractere; cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu
== Exemplu 1 ==
== Exemplul 1 ==
; Intrare
; Intrare
  Fat Frumos este cel mai viteaz
  Fat Frumos este cel mai viteaz
Line 18: Line 18:
  viteaz
  viteaz
<br>
<br>
== Exemplu 2 ==
 
== Exemplul 2 ==
; Intrare
; Intrare
  catalin1234
  catalin1234
Line 25: Line 26:
  Datele de intrare nu corespund restrictiilor impuse
  Datele de intrare nu corespund restrictiilor impuse
<br>
<br>
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>

Latest revision as of 17:07, 25 December 2023

Cerinţa[edit | edit source]

Într-un text cu cel mult 100 de caractere cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu. Scrieți un program care citește de la tastatură un text de tipul precizat, apoi un număr natural, n, n∈[1,100), şi afişează pe ecran, pe linii separate, cuvintele din text care au exact n litere. Cuvintele sunt afișate în ordinea apariției lor în text, iar dacă nu există niciun astfel de cuvânt, se afișează pe ecran mesajul nu exista.

Date de intrare[edit | edit source]

Programul citește de la tastatură numărul textul dat, apoi numărul n.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran cuvintele din text cu exact n litere, fiecare pe câte o linie.

Restricţii şi precizări[edit | edit source]

  • 1 ⩽ n ⩽ 100
  • textul conține cel mult 100 de caractere; cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu

Exemplul 1[edit | edit source]

Intrare
Fat Frumos este cel mai viteaz
6
Iesire
Datele de intrare corespund restrictiilor impuse
Frumos
viteaz


Exemplul 2[edit | edit source]

Intrare
catalin1234
10
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line> def main():

   # Citirea textului și a numărului de la tastatură
   text = input().strip()
   n = int(input().strip())
   # Verifică dacă textul respectă restricțiile
   if len(text) > 100:
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   if any(not cuvant.isalpha() for cuvant in text.split()):
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   if any(len(cuvant) > 100 for cuvant in text.split()):
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   print("Datele de intrare corespund restrictiilor impuse")
   # Obținerea listei de cuvinte cu exact n litere
   cuvinte = [cuvant for cuvant in text.split() if len(cuvant) == n]
   # Verifică dacă există cuvinte în text cu exact n litere și afișează rezultatul
   if cuvinte:
       for cuvant in cuvinte:
           print(cuvant)
   else:
       print("nu exista")

if __name__ == "__main__":

   main()

</syntaxhighlight>