1
This is my code:
import csv
def gravar(nome,idade, sexo):
with open('cadastros.csv', 'w') as arquivo_csv:
colunas = ['Nome', 'Idade', "Sexo"]
escrever = csv.DictWriter(arquivo_csv, fieldnames=colunas, delimiter=',', lineterminator='\n')
escrever.writeheader()
escrever.writerow({'Nome' : nome, 'Idade' : idade, "Sexo" : sexo})
def ler():
with open('cadastros.csv','r') as f:
leitor = csv.DictReader(f, delimiter=',')
for row in leitor:
idades = row['Idade']
idade = int(idades)
soma = sum(idade)
print(soma)
while True:
print("1-Cadastrar Cliente\n"+
"2-Idade Média\n"+
"3-Sair\n")
opcao = int(input("Coloque a opção desejada: \n"))
if opcao == 1:
quant = int(input("Quantidade de Clientes que você vai cadastrar!!"))
for cliente in range(quant):
nome = input("Coloque o nome do cliente: \n")
idade = int(input("Coloque a idade do cliente: \n"))
sexo = input("Coloque o sexo do cliente: \n")
gravar(nome,idade,sexo)
elif opcao == 2:
ler()
elif opcao == 3:
print("\nSaindo!!")
break
I’m trying to do a customer registration via csv, and I also have to calculate the average of all the age of all clients. I’m taking everyone’s age, turning it all into one code:
def ler():
with open('cadastros.csv','r') as f:
leitor = csv.DictReader(f, delimiter=',')
for row in leitor:
idades = row['Idade']
idade = int(idades)
soma = sum(idade)
print(soma)
But he always makes that mistake:
Traceback (most recent call last):
File "C:/Users/deagu.LAPTOP-13J3Q2U9/Desktop/Teste2/cadastros.py", line 37, in <module>
ler()
File "C:/Users/deagu.LAPTOP-13J3Q2U9/Desktop/Teste2/cadastros.py", line 16, in ler
soma = sum(idade)
TypeError: 'int' object is not iterable
How can I solve?
Thank you Daniel Mendes, you solved my problem and helped me a lot!!
– VINICIUS DE AGUIAR Benvinda