0133 - Nume Prenume

From Bitnami MediaWiki
Revision as of 18:59, 25 March 2023 by Adina Timiș (talk | contribs) (Pagină nouă: ==Cerința== Scrieți un program care citește de la tastatură două șiruri formate fiecare din cel mult 20 de caractere. Primul șir reprezintă numele unei persoane, iar al doilea șir reprezintă prenumele aceleiași persoane. Atât numele, cât și prenumele sunt formate doar din litere ale alfabetului englez și fiecare conține cel puțin o consoană. Programul construiește în memorie și afișează pe ecran un al treilea șir de caractere, care va conține consoan...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Scrieți un program care citește de la tastatură două șiruri formate fiecare din cel mult 20 de caractere. Primul șir reprezintă numele unei persoane, iar al doilea șir reprezintă prenumele aceleiași persoane. Atât numele, cât și prenumele sunt formate doar din litere ale alfabetului englez și fiecare conține cel puțin o consoană. Programul construiește în memorie și afișează pe ecran un al treilea șir de caractere, care va conține consoanele din prenumele citit dispuse în ordinea în care apar în prenume, urmate de exact un spațiu și de numele citit.

Date de intrare

Programul citeşte de la tastatură cele două șiruri.

Date de ieșire

Programul afişează pe ecran șirul construit după regula precizată.

Exemplul 1

Intrare
Popescu Vasile
Ieșire
Datele de intrare corespund restricțiilor impuse.
Vsl Popescu

Exemplul 2

Intrare
aaaaaa Vasile
Ieșire
Datele de intrare nu corespund restricțiilor impuse.

Rezolvare

<syntaxhighlight lang="python" line="">

  1. 0133 - Nume Prenume

def verifica_sir(sir):

   if not sir.isalpha():
       return False
   consoane = "bcdfghjklmnpqrstvwxyz"
   for litera in sir.lower():
       if litera in consoane:
           return True
   return False


def construieste_sir(nume, prenume):

   sir_final = ""
   for litera in prenume:
       if litera.lower() in "bcdfghjklmnpqrstvwxyz":
           sir_final += litera
   sir_final += " " + nume
   return sir_final


if __name__ == '__main__':

   nume = input("Introduceti numele: ")
   prenume = input("Introduceti prenumele: ")
   
   if verifica_sir(nume) and verifica_sir(prenume):
       sir_final = construieste_sir(nume, prenume)
       print(sir_final)
       print("Datele de intrare corespund restricțiilor impuse.")
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")


</syntaxhighlight>