Calculate the age group of 10 people within a loop of repetition?

0

Below is the code I'm using, it has the following error:

SyntaxError: invalid syntax
maycon@maycon-H14SU08:~/Documentos/Algoritimos$ python3 prova_lista.py 
  File "prova_lista.py", line 23
    elif 18 pessoas <= 65:
  

Make a program that, using a loop of repetition, receives the age of 10, calculates and shows the number of people in each age group according to the legend:

     
  • Minor age - 0-17 years old
  •   
  • Youth - 18 to 65 years old
  •   
  • Middle age - 66 to 79 years old
  •   
  • Elderly - 80 to 99 years old
  •   
  • Long-lived senior - 100 or more
  •   
pessoas = [""] * 10

i = 0
soma = 0

while i < len(pessoas):
    pessoas[i] = int(input("Digite a sua idade: "))
    soma = soma + pessoas[i]
    i = i + 1

i = 0
soma = 0

while i < len(pessoas):

    pessoas = pessoas[i]
    pessoas = int(pessoas)

    soma = soma + pessoas
    i = i + 1

    if pessoas < 17:
        print("--- Menor de Idade ----")
        break

    elif 18 < pessoas <= 65:
        print("--- Jovem ---")
        break

    elif 66 < pessoas <= 79:
        print("--- Meia Idade ---")
        break

    elif 80 < pessoas <= 90:
        print("--- Idoso ---")
        break

    elif pessoas >= 100:
        print("--- Idoso de Vida Longa ---")
        break
    
asked by anonymous 30.10.2018 / 20:11

2 answers

4

The comparison operator < was missing between the number and the variable

elif 18 pessoas <= 65:

should be

elif 18 < pessoas <= 65:

The same for all other comparisons made.

EDIT: I believe you do not have to store all people ... but the total number of people in each age group. See the full code below:

# cria variáveis para cada categoria com o valor zero:
menor = jovem = meia_idade = idoso = vida_longa = 0

# repete 10 vezes:
for n in range(10):
    idade = int(input("Digite a sua idade:"))

    # apos digitar cada idade, classifica a pessoa e incrementa a variavel certa:
    if idade <= 17:
        menor = menor + 1
    elif 17 < idade <= 65:
        jovem = jovem + 1
    elif 65 < idade <= 79:
        meia_idade = meia_idade + 1
    elif 79 < idade <= 99:
        idoso = idoso + 1
    else:
        vida_longa = vida_longa + 1

# Após processar as 10 pessoas, imprime o resultado

print("Menores de idade: ", menor)
print("Jovens: ", jovem)
print("Pessoas de meia-idade: ", meia_idade)
print("Idosos: ", idoso)
print("Idosos de vida longa: ", vida_longa)
    
30.10.2018 / 20:13
2
pessoas = [""] * 10

i = 0
soma = 0

while i < len(pessoas):
    pessoas[i] = int(input("Digite a sua idade: "))
    soma = soma + pessoas[i]
    i = i + 1

    if pessoas <= 17:
        print("--- Menor de Idade ----")

    elif 18 < pessoas <= 65:
        print("--- Jovem ---")

    elif 66 < pessoas <= 79:
        print("--- Meia Idade ---")

    elif 80 < pessoas <= 90:
        print("--- Idoso ---")

    elif pessoas >= 100:
        print("--- Idoso de Vida Longa ---")

Missed annotation of higher or lower before 'people' under your conditions :)

    
30.10.2018 / 20:18