0012 - Initiale

From Bitnami MediaWiki
Revision as of 13:09, 26 March 2023 by Hotico Iulia Denisa (talk | contribs) (Pagină nouă: == Cerința == Se dă un şir de caractere reprezentând o propoziţie formată din litere mici ale alfabetului englez şi spaţii. Transformaţi şirul dat astfel încât prima şi ultima literă a fiecărui cuvânt să fie înlocuite cu litera mare corespunzătoare. == Date de intrare == Programul citeşte de la tastatură propoziţia dată. == Date de ieșire == Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse",...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Se dă un şir de caractere reprezentând o propoziţie formată din litere mici ale alfabetului englez şi spaţii. Transformaţi şirul dat astfel încât prima şi ultima literă a fiecărui cuvânt să fie înlocuite cu litera mare corespunzătoare.

Date de intrare

Programul citeşte de la tastatură propoziţia dată.

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 se va afișa propoziţia transformată. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse".

Restricții și precizări

şirul de caractere citit conţine cel mult 255 de caractere

Exemplu 1

Intrare
mare frig rosu
Ieșire
Datele introduse corespund restricțiilor impuse.
MarE FriG RosU


Exemplu 2

Intrare
Este Rece CAld
Ieșire
Datele de intrare nu corespund restricțiilor impuse.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0012 Initiale

def validare(propozitie):

   if len(propozitie) > 255:
       raise ValueError
   for caracter in propozitie:
       if ord(caracter) < ord('a') and caracter != ' ':
           raise ValueError
   print("Datele de intrare corespund restrictiilor impuse")
   return True


def initiale(propozitie):

   for iterator in range(len(propozitie)):
       litera = propozitie[iterator]
       if (iterator == 0 or iterator == len(propozitie) - 1) and 'a' <= litera <= 'z':
           print(chr(ord(litera) - 32), end="")
       elif (propozitie[iterator-1] == ' ' or propozitie[iterator+1] == ' ') and 'a' <= litera <= 'z':
           print(chr(ord(litera) - 32), end="")
       else:
           print(litera, end="")


if _name_ == '_main_':

   try:
       sir = input(f"Introduceti sirul ")
       validare(sir)
       initiale(sir)
   except ValueError:
       print("Datele de intrare nu corespund restrictiilor impuse")
   except IndexError:
       print("Datele de intrare nu corespund restrictiilor impuse")

</syntaxhighlight>