2348 - Caracterul mediu 1
Cerința
Caracterul mediu a două sau al mai multor caractere este caracterul care are codul ASCII egal cu partea întreagă a mediei aritmetice a codurilor ASCII ale caracterelor date.
Un caracter se numeste bun daca nu este spatiu, nu este litera mare si nu este vocala .
Se citeste un sir de caractere (care poate contine si spatii). Să se determine caracterul mediu al caracterelor bune din sir .
Date de intrare
Programul citește de la tastatură un sir de caractere.
Date de ieșire
Programul va afișa pe ecran caracterul mediu al caracterelor bune din sir .
Restricții și precizări
2 ≤ numărul de caractere citite ≤ 200
- Caracterul mediu poate fi spatiu, litera mare sau vocala.
- Cel putin un caracter va fi bun
Exemplu 1
- Intrare
- fz
- Ieșire
- p
Exemplu 2
- Intrare
- FaZ QWaaP
- Ieșire
- Date de intrare gresite!
Rezolvare
<syntaxhighlight lang="python" line="1">
- 2348 Caracterul Mediu 1
import re
def caractere_bune(sir):
bune = []
for caracter in sir: if not re.match(r"([aeiouA-Z ])", caracter): bune.append(caracter)
return bune
def conditii(sir):
return all(( 2 <= len(sir) <= 200, len(caractere_bune(sir)) > 0 ))
def main():
sir = input()
if not conditii(sir): return print("Date de intrare gresite!")
caractere = [ord(c) for c in caractere_bune(sir)] medie = sum(caractere) // len(caractere)
print(chr(medie))
if __name__ == "__main__":
main()
</syntaxhighlight>