0138 - Frecventa: Difference between revisions
Pagină nouă: == Cerința == Să se scrie un program care citește un șir de caractere și afișează litera mică cel mai des întâlnită în șir. == Date de intrare == Programul citește de la tastatură un șir de cel mult 255 caractere. == Date de ieșire == Programul afișează pe ecran litera mică cel mai des întâlnită în șir. == Restricții și precizări == : - șirul conține litere mari și mici ale alfabetului englez, cifre și spații : - dacă șirul conține mai mul... |
No edit summary |
||
Line 19: | Line 19: | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
#0138 Frecventa | # 0138 Frecventa | ||
def verificare(sir_chr): | |||
for caracter in sir_chr: | |||
if 122 < ord(caracter) < 97: | |||
if ord(caracter) != ord(" "): | |||
print(caracter + '**************') | |||
return False | |||
return True | |||
def frecventa(sir): | |||
nr_alfabet = [] | |||
for i in range(123): | |||
nr_alfabet.append(0) | |||
for caracter in sir: | |||
nr_alfabet[ord(caracter)] += 1 | |||
max_aparitii = max(nr_alfabet[97:]) | |||
for i in range(len(nr_alfabet)): | |||
if nr_alfabet[i] == max_aparitii and i >= 97: | |||
print(chr(i)) | |||
return | |||
if __name__ == '__main__': | |||
sir_caractere = input("Introduceti sirul de caractere: ") | |||
if verificare(sir_caractere): | |||
print("Datele introduse corespund restricțiilor impuse.") | |||
frecventa(sir_caractere) | |||
else: | |||
print("Datele introduse nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> |
Revision as of 15:18, 22 March 2023
Cerința
Să se scrie un program care citește un șir de caractere și afișează litera mică cel mai des întâlnită în șir.
Date de intrare
Programul citește de la tastatură un șir de cel mult 255 caractere.
Date de ieșire
Programul afișează pe ecran litera mică cel mai des întâlnită în șir.
Restricții și precizări
- - șirul conține litere mari și mici ale alfabetului englez, cifre și spații
- - dacă șirul conține mai multe litere cu număr maxim de apariții, se va fișa prima în ordine alfabetică
Exemplu 1
- Intrare
- In 12 mergem la munte
- Ieșire
- e
Explicație
- Litera e apare în șir de 3 ori. Tot de 3 ori apare și litera m, dar e este prima în ordine alfabetică.
Rezolvare
<syntaxhighlight lang="python" line>
- 0138 Frecventa
def verificare(sir_chr):
for caracter in sir_chr: if 122 < ord(caracter) < 97: if ord(caracter) != ord(" "): print(caracter + '**************') return False
return True
def frecventa(sir):
nr_alfabet = []
for i in range(123): nr_alfabet.append(0)
for caracter in sir: nr_alfabet[ord(caracter)] += 1
max_aparitii = max(nr_alfabet[97:])
for i in range(len(nr_alfabet)): if nr_alfabet[i] == max_aparitii and i >= 97: print(chr(i)) return
if __name__ == '__main__':
sir_caractere = input("Introduceti sirul de caractere: ")
if verificare(sir_caractere): print("Datele introduse corespund restricțiilor impuse.") frecventa(sir_caractere) else: print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>