2348 - Caracterul mediu 1: Difference between revisions
Pagină nouă: ==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 c... |
No edit summary |
||
Line 9: | Line 9: | ||
Programul citește de la tastatură un sir de caractere. | Programul citește de la tastatură un sir de caractere. | ||
==Date de ieșire== | ==Date de ieșire== | ||
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." | |||
Pe următorul rând se va afișa caracterul mediu al caracterelor bune din sir. | |||
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse." | |||
==Restricții și precizări== | ==Restricții și precizări== | ||
Line 56: | Line 60: | ||
if not conditii(sir): | if not conditii(sir): | ||
return print(" | return print("Datele de intrare nu corespund restricțiilor impuse.") | ||
print("Datele de intrare corespund restricțiilor impuse.") | |||
caractere = [ord(c) for c in caractere_bune(sir)] | caractere = [ord(c) for c in caractere_bune(sir)] |
Revision as of 10:42, 26 March 2023
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
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse."
Pe următorul rând se va afișa caracterul mediu al caracterelor bune din sir.
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse."
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("Datele de intrare nu corespund restricțiilor impuse.") print("Datele de intrare corespund restricțiilor impuse.")
caractere = [ord(c) for c in caractere_bune(sir)] medie = sum(caractere) // len(caractere)
print(chr(medie))
if __name__ == "__main__":
main()
</syntaxhighlight>