Verificar divisões - tabuadas

Secção dedicada à linguagem de programação favorita dos quarkianos: Python!

Verificar divisões - tabuadas

Mensagempor filipematos em Quinta Jun 30, 2011 5:48 pm

No python 2.7 quando eu divido dois inteiros ele dá me o resultado em numeros inteiros mesmo que não seja o caso. Ex: 2/5=0? quando isto deveria dar 0.4. Sei, também que no python 3.0 toda a divisão, mesmo de inteiros, resulta num float. Contudo, isto também não me serve. Eu gostava de quando dividisse por exemplo: 2/5 ele me desse 0.4. e quando dividisse 2/2 me desse 1 ( como inteiro). Isto para quê? Para que fosse fácil verificar se um numero é divisível por outro em IN.
Alguém me consegue dar uma ajudinha?
Eu para verificar se um numero era divisivel por 3 ou por 5 tive que em primeiro lugar desenvolver as tabuadas dos dois e depois verificar se o numero pertencia à tabuada. Contudo este método torna-se pouco eficiente quando quero ver se um numero é divisivel por 20 outros. Como posso fazer?
"If I have seen further than others, it is by standing upon the shoulders of giants" - Isaac Newton

“We build too many walls and not enough bridges.” - Isaac Newton
filipematos
down-Quark!
down-Quark!
 
Mensagens: 280
Registado: Sábado Jun 25, 2011 4:48 pm
Localização: Lisboa

Re: Verificar divisões - tabuadas

Mensagempor Bruno Oliveira em Quinta Jun 30, 2011 6:31 pm

Em Programação, e creio que isto é mais ou menos genérico independentemente das conversões nativas para float ou double, dizemos que um inteiro é dívisivel por outro, se o resto da divisão de um por outro for zero.

O operador mod, que se denota por %, verifica isso de forma automatica; se dividires a por b e tiveres a > b, se o resultado de a % b for zero, então a é múltiplo de b, caso contrário não é.

Se tiveres a%b para a < b, o resultado é a.
e^{ix}=cos x + i\,sin x
Avatar do utilizador
Bruno Oliveira
top-Quark!
top-Quark!
 
Mensagens: 1553
Registado: Quarta Nov 14, 2007 10:19 pm
Localização: Lisboa

Re: Verificar divisões - tabuadas

Mensagempor filipematos em Quinta Jun 30, 2011 7:33 pm

Muito obrigado :D com esse operador tudo se torna mais fácil :D
"If I have seen further than others, it is by standing upon the shoulders of giants" - Isaac Newton

“We build too many walls and not enough bridges.” - Isaac Newton
filipematos
down-Quark!
down-Quark!
 
Mensagens: 280
Registado: Sábado Jun 25, 2011 4:48 pm
Localização: Lisboa


Voltar para Pitónica

Quem está ligado

Utilizadores a navegar neste fórum: Nenhum utilizador registado e 1 visitante

cron