0133 - Nume Prenume
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="">
- 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>