0013 - Prefixe

From Bitnami MediaWiki
Revision as of 14:04, 27 March 2023 by Hotico Iulia Denisa (talk | contribs) (Pagină nouă: == Cerința == Se dă un şir de caractere reprezentând un cuvânt. Să se afişeze lista prefixelor şi lista sufixelor cuvântului dat. == Date de intrare == Programul citeşte de la tastatură un şir de caractere == Date de ieșire == Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa lista prefixelor, câte unul pe un rând al ecranului, şi lista sufixelor, câte unul pe un rând...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Se dă un şir de caractere reprezentând un cuvânt. Să se afişeze lista prefixelor şi lista sufixelor cuvântului dat.

Date de intrare

Programul citeşte de la tastatură un şir de caractere

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa lista prefixelor, câte unul pe un rând al ecranului, şi lista sufixelor, câte unul pe un rând al ecranului. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse".

Restricții și precizări

şirul de caractere citit va conţine cel mult 10 litere mici ale alfabetului englez

Exemplu 1

Intrare
program
Ieșire
Datele introduse corespund restricțiilor impuse.
program

progra progr prog pro pr p program rogram ogram gram ram am m

Exemplu 2

Intrare
$$%$%% 1234567898765432
Ieșire
Datele de intrare nu corespund restricțiilor impuse.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0013 Prefixe

def validare(cuvant):

   if len(cuvant) > 10:
       raise ValueError
   for litera in cuvant:
       if litera < 'a' or litera > 'z':
           raise ValueError
   print("Datele de intrare corespund restrictiilor impuse")
   return True


def prefixe(cuvant):

   aux = len(cuvant)
   while aux:
       print(cuvant[:aux])
       aux -= 1
   aux = 0
   while aux < len(cuvant):
       print(cuvant[aux:])
       aux += 1


if __name__ == '__main__':

   try:
       cuv = input(f"Introduceti textul ")
       validare(cuv)
       prefixe(cuv)
   except ValueError:
       print("Datele de intrare nu corespund restrictiilor impuse")
   except IndexError:
       print("Datele de intrare nu corespund restrictiilor impuse")

</syntaxhighlight>