2813 - Note

From Bitnami MediaWiki
Revision as of 17:18, 25 December 2023 by Hotico Iulia Denisa (talk | contribs) (→‎Exemplu 2)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa[edit | edit source]

Se consideră un text cu cel mult 100 de caractere, în care cuvintele sunt formate din litere mari 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 menționat mai sus și afișează pe ecran, pe câte un rând, cuvintele care cuprind cel puțin o notă muzicală. Dacă nu există astfel de cuvinte, se afișează pe ecran mesajul nu exista.

Date de intrare[edit | edit source]

Programul citește de la tastatură un text de tipul menționat.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran, pe câte un rând, cuvintele care cuprind cel puțin o notă muzicală. Dacă nu există astfel de cuvinte, se afișează pe ecran mesajul nu exista.

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

  • cuvintele vor fi afișate în ordinea din text
  • notele muzicale sunt DO, RE, MI, FA, SOL, LA, SI.

Exemplul 1[edit | edit source]

Intrare
REMI DOMINO SI KHANHOO SUNT DENUMIRI DE JOCURI CE AU ASPECTE SIMILARE
Iesire
Datele de intrare corespund restrictiilor impuse
REMI
DOMINO
SI
DENUMIRI
SIMILARE


Exemplul 2[edit | edit source]

Intrare
remi domino si khanhoo sunt denumiri de jocuri ce au aspecte similare
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare[edit | edit source]

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

   # Citirea șirului de caractere de la tastatură
   sir = input().strip()
   # Verifică dacă șirul respectă restricțiile
   if len(sir) > 100:
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   if any(not caracter.isupper() and not caracter.isspace() for caracter in sir):
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   print("Datele de intrare corespund restrictiilor impuse")
   # Afișarea cuvintelor care cuprind cel puțin o notă muzicală
   note_muzicale = ['DO', 'RE', 'MI', 'FA', 'SOL', 'LA', 'SI']
   cuvinte = sir.split()
   cuvinte_cu_note = [cuvant for cuvant in cuvinte if any(nota in cuvant for nota in note_muzicale)]
   # Verifică dacă există cuvinte care cuprind cel puțin o notă muzicală și afișează rezultatul
   if cuvinte_cu_note:
       for cuvant in cuvinte_cu_note:
           print(cuvant)
   else:
       print("nu exista")


if __name__ == "__main__":

   main()

</syntaxhighlight>