Count how many times a certain value appears in a list

Asked

Viewed 56 times

-3

I need to write a code that creates a list of numbers that are entered by the user (the amount of numbers is defined by the user) and print which value of that list is the largest and how often it appears. Looks like I got the first part but I’m having a hard time counting how many times the highest value appears to also print it.

lista = (input('Digite números inteiros:').split())
max_value = None

for num in lista:
    if (max_value is None or num > max_value):
        max_value = num

print(f'Os números digitados foram {lista} e seu maior valor é {max_value}.')

2 answers

1

Try this way, the process is commented:

# Recupera a entrada do usuário
numeros_str = input('Digite números inteiros:')

# Cria uma lista de strings
lista_str = numeros_str.split()

# Converte em uma lista de inteiros
lista = list(map(int, lista_str))

# Identifica o valor máximo da lista
max_value = max(lista)

# Conta as ocorrências desse valor na lista
count_max_value = lista.count(max_value)

print(f'Os números digitados foram {lista} e seu maior valor é {max_value}, que se repete {count_max_value} vezes.')

0


In your case the input returns a literal type, its list contains literals ['12','32'] need to convert for [12,32] without single quotation marks.

Foi Transposta a lista e convertida  em numero inteiro naturais

Essa situação utilizei o sort para ordernar a lista do menor ao maior
primeira posição é o menor ultima bem óbvio é o maior
e uma funcao que conta as repetições count()


em python um texto é um lista:
exemplo 
texto ="Ola Mundo"
for txt in texto:
   print(txt)
resultado  
O
l
a
 
M
u
n
d
o

pode acessar por posição

input has string type input, numbers are all alphabetical I converted to whole and ordered and just took the position 0 and the last [-1]

maybe that’s what you’re looking for?

lista = input('Digite números inteiros:').split() #literal


lista = [int(i) for i in lista]#transposta, numeros  naturais


lista.sort() #ordena do menor ao maior
   
minimo= lista[0]  #  primeira posicao ou min(lista)
maximo= lista[-1]  # ultima posicao max(lista)  

minimo_rep = lista.count(minimo) # do minino quantas vezes repetiu      
maximo_rep = lista.count(maximo) # fo maximo quantas vezes repetiu
   
   

print(f'Os números digitados foram {lista}')
print(f'e seu maior valor é {maximo} repetiu {maximo_rep}')
print(f'e o menor é {minimo} repetiu {minimo_rep}')

Browser other questions tagged

You are not signed in. Login or sign up in order to post.