2584 - Insert Invers
De la Universitas MediaWiki
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
# 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.")