indio mal 0 Denunciar post Postado Outubro 31, 2008 Salve galera...Sou iniciante na área e não consigo resolver uma parada...tava fazendo um exercício de um tutorial básico e não consigo resolver um questão: tenho o seguinte código: #desprepl.py - calculo de despesas da republica print 'Balanço de despesas da Republica Recanto Suiço' print print '(deixe um nome em branco para encerrar)' print total = 0 contas = {} while 1: pessoa = raw_input('digite o nome da pessoa: ') if not pessoa: break while 1: resp = raw_input('quanto gastou %s? ' % pessoa) try: gasto = float(resp) break except: print 'Numero invalido. Coloque . e não , para os numeros decimais' contas[pessoa] = gasto total = total + gasto num_pessoas = len(contas) print print 'numero de pessoas: %d' % num_pessoas print 'Total de gastos: R$ %.2f' % total media = total/num_pessoas print 'Gastos por pessoa: R$ %2.f' % media print for nome in contas.keys(): saldo = contas[nome] - media print 'Saldo de %s: %.2f' % (nome, saldo) - A bronca é a seguinte: o final da operação de veria retornar o total de gastos, os gastos por pessoa (bem como a media) e o saldo de cada pessoa segundo a media de gastos, mas não consigo fazer o loop funcionar, de maneira que só aprece como resultado o gasto total, o gasto médio por pessoa e o saldo do último nome digitado... Dá uma ajuda aê galera...agradeço a mão... Compartilhar este post Link para o post Compartilhar em outros sites
Hanzi West 0 Denunciar post Postado Novembro 2, 2008 bom, primeiramente vamos pelo mais básico: python valoriza muito a identação, por isso quando você for escrever algo dentro de uma repetição ou teste logico, etc. você precisa afastar a proxima linha para a direita o equivalente a quatro espaços. Exatamentee quatro espaços, nem mais, nem menos. Exemplo: while 1: print 'apertei barra de espaço quatro vezes' print 'este codigo e executado eternamente' print 'este codigo esta fora do while. e executado uma vez' Se nao fizer isso o python achará qu o seu while estará vazio e prosseguira como se nada tiversse acotecido XX outra coisa: me parece que nas primeiras linhas de codigo você quer que o USuario preencha nomes de varias pessoas. ISso precisa então ser uma lista. Da forma que você fez seria uma variavel normal, e esta só pode guardar um valor apenas. use uma lista e procure sobre o metodo append(), que adinionará um elmento na lista Compartilhar este post Link para o post Compartilhar em outros sites