У меня проблемы с кодом. Мне нужно подсчитать, сколько значений в списке меньше 20. Проблема в том, что в моем списке есть значения str
и int
.
Я пробовал следующее, но это не работает:
from numpy import mean
import sys
mylistidade = []
mylistmen = []
mylistwomen = []
count = sum(map(lambda x : x<20, mylistwomen[1::2]))
for x in range (1, 5):
print(f'----- {x}ª PESSOA -----')
nome = str(input('Nome: ')).strip().title()
idade = int(input('Idade: '))
sexo = str(input('Sexo [M/F}: ')).upper()
if sexo == 'M' or sexo == 'F':
pass
else:
print('Digite um valor válido no campo Sexo!')
sys.exit()
if sexo == 'M':
mylistmen.append(nome)
mylistmen.append(idade)
else:
mylistwomen.append(nome)
mylistwomen.append(idade)
mylistidade.append(idade)
print(mylistmen)
print(mylistwomen)
print(f'The average age for the group is {mean(mylistidade)}!')
position = mylistmen.index(max(mylistmen[1::2]))
print(f'The oldest man has {max(mylistmen[1::2])} years and it is called', end=' ')
print(f'{mylistmen[position-1]}')
print(f'There is {count} women that has less than 20 years!')
Я хотел бы придерживаться своего решения sum(map())
. Просто нужна помощь, чтобы понять, что мне не хватает.