1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Ajuda] pekenas dúvidas de python

Discussão em 'Programação' iniciada por yELLOW23, 6 de Outubro de 2007. (Respostas: 3; Visualizações: 2032)

  1. yELLOW23

    yELLOW23 Power Member

    boas pessoal...começaram de novo as aulas e cá estou eu de volta a Python...

    é o seguninte eu fiz um programa em Python para calcular o desvio padrão de cinco números aki vai:

    [​IMG]

    agr as dúvidas são:

    1º como é k eu posso fazer para k os resultados da média e do desvio padrão forem CASO sejam inteiros para me apresentarem - por ex - 3 em vez de 3.0, e caso seja um número decimal do tipo 1.936598, me apresentar esse resultado arredondado, do tipo 1.94
    2º cm é k posso utilizar o ciclo while para fazer com k o programa esteja sempre a repetir? ou seja no final de calcular a média e desvio padrão dos números, pedir de novo para colocar outros números e calcular de novo, e reptir o programa infinitamente? alguém me pode ajudar??

    cumps
     
  2. Baderous

    Baderous Banido

    Tens de fazer um cast do resultado (float) para int, por ex:
    Código:
    media = int((x1+x2+x3+x4+x5)/5.0)
    Talvez usar uma formatação específica para apresentar os nºs só com 2 casas decimais arredondadas. Googla a ver se existe alguma função que faça isso.

    Em C, isso faz-se assim
    Código:
    while(1) ........
    Agora em Python não sei se isso é possível...
     
  3. yELLOW23

    yELLOW23 Power Member

    boas....

    kuanto a isso, já eu sabia mas por exemplo se a média der um número décimal já n apresenta as casas decimais, o k eu keria era uma função/condição k kuando a média fosse um número inteiro apresentasse o número sem kuaiker casa decimais, e SE fosse decimal me apresenta-se por exemplo c 3 casas decimais apenas.....


    kuanto a isso já resolvi desta maneira:
    [​IMG]
    e desta maneira fica sempre a repetir o programa cm eu kero.....
    mas continuo c o probelma dos arredondamentos,etc,etc,etc...

    se alguém souber ajudem-me sff

    cumpz
     
  4. Tyran

    Tyran Power Member

    Podes sempre fazer uma função que leva como parametros o número e parâmetros de arredondamento a que queres arredondar, exemplo em C noob assim à pressa:
    nmr teria de ser uma string para fazer isto, pelo menos em C...
    Código:
    exit = 0;
    flag=0;
    //casaDecimal = numero de casas decimais
    //nmr é o número lol
    for (i=0; i<strlen(nmr) && !exit; i++) {
     
        if (nmr[i] == '.') flag = i;
      
           if (flag) {
                           if (i == (flag+casaDecimal+1)) {
                                    if (nmr[i] > 4) {
                                          nmr[i-1] = nmr[i-1] + 1;
                                          nmr [i] = '\0'; //termina o resto pois ja ta arredondado
                                          exit = 1;
                                    }
                           }
          }
    }
    Pronto, esta é a minha opinião assim as tres pancadas, depois podes pormenorizar como queiras claro, mas a base será isso, mas é melhor ouvires opinião de quem sabe lol
    Abraço e boa sorte ;)
     

Partilhar esta Página