0155 - Cif Max

From Bitnami MediaWiki
Revision as of 17:00, 25 March 2023 by Adina Timiș (talk | contribs) (Pagină nouă: ==Cerința== Scrieţi un program care citeşte de la tastatură un şir de cel mult 60 de caractere (litere mici şi mari ale alfabetului englez, cifre, puncte, virgule şi spaţii) şi afişează pe ecran cifra care apare de cele mai multe ori în şirul citit. ==Date de intrare== Programul citeşte de la tastatură un şir de cel mult 60 de caractere. ==Date de ieșire== Programul va afişa pe ecran cifra care apare de cele mai multe ori în şir. ==Restricții și preciz...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Scrieţi un program care citeşte de la tastatură un şir de cel mult 60 de caractere (litere mici şi mari ale alfabetului englez, cifre, puncte, virgule şi spaţii) şi afişează pe ecran cifra care apare de cele mai multe ori în şirul citit.

Date de intrare

Programul citeşte de la tastatură un şir de cel mult 60 de caractere.

Date de ieșire

Programul va afişa pe ecran cifra care apare de cele mai multe ori în şir.

Restricții și precizări

  • dacă şirul conţine mai multe cifre cu număr maxim de apariţii si va afişa cea mai mică;
  • dacă şirul nu conţine cifre se va afişa NU;

Exemplul 1

Intrare
Voi lua 9,5 la matematica 10 la informatica si 10 la romana
Ieșire
0
Datele de intrare corespund restricțiilor impuse.

Exemplul 2

Intrare
aaaaaa
Ieșire
NU

Rezolvare

<syntaxhighlight lang="python" line="">

  1. 0155 - Cif Max

def numar_aparitii(sir):

   sirul = [0] * 10 
   for char in sir:
       if char.isdigit(): 
           sirul[int(char)] += 1 
   return sirul

def sir_maxim(sirul):

   numar_maxim = max(sirul) 
   if numar_maxim == 0: 
       return "NU"
   for numar in range(10): 
       if sirul[numar] == numar_maxim: 
           return numar 

if __name__ == '__main__':

   sir = input("Introduceți un șir de caractere: ")
   if len(sir) > 60:
       print("Datele de intrare nu corespund restricțiilor impuse.")
   else:
       sirul = numar_aparitii(sir)
       cifra_maxima = sir_maxim(sirul)
       if cifra_maxima == "NU":
           print("NU")
       else:
           print(cifra_maxima)
           print("Datele de intrare corespund restricțiilor impuse.")

</syntaxhighlight>