2584 - Insert Invers
Cerinţa
Se dă un șir de caractere care conține cuvinte formate doar din litere mici și mari ale alfabetului englez, separate printr-un spațiu. Să se afișeze cuvintele din șir, fiecare fiind urmat de inversul său. Cuvintele afișate sunt separate printr-un spațiu.
Date de intrare
Programul citește de la tastatură un șir de caractere.
Date de ieşire
Programul va afișa pe ecran cuvintele conform cerinței.
Restricții și precizări
- șirul conține maximum 255 de caractere
Exemplul 1
- Intrare
ana are mere
- Ieșire
Datele introduse corespund restricțiilor impuse. ana ana are era mere erem
Exemplul 2
- Intrare
99573483
- Ieșire
Datele introduse nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line>
- Definim funcția de verificare a valorilor s
def verificare(s_val):
# Verificăm dacă s respectă restricțiile problemei if 1 <= len(s_val) <= 255 and all(c.isalpha() or c.isspace() for c in s_val): # Dacă valorile sunt valide, returnăm True return True else: # Dacă valorile nu sunt valide, ridicăm o excepție raise ValueError
- Definim funcția pentru afișarea cuvintelor și a inverselor lor
def afisare_cuvinte_si_inversee(s_afisare):
cuvinte = s_afisare.split() rezultat = [] for cuvant in cuvinte: rezultat.append(cuvant) rezultat.append(cuvant[::-1]) return ' '.join(rezultat)
if __name__ == '__main__':
try: # Citim șirul de caractere s = input("Introduceti sirul de caractere: ")
# Verificăm dacă datele introduse sunt valide if verificare(s): # Dacă datele sunt valide, afișăm un mesaj de confirmare print("Datele introduse corespund restricțiilor impuse.")
# Afișăm cuvintele și inversele lor print(afisare_cuvinte_si_inversee(s))
# Tratăm cazul în care datele introduse nu sunt valide except ValueError: # Afișăm un mesaj de eroare print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>