Não consigo entrar no If

1. Não consigo entrar no If

renata fernandes alves
renatafalves

(usa Outra)

Enviado em 01/11/2020 - 11:29h

Comecei recentemente no python, estou tentando transcrever meu código em matlab para python, porém ainda não me familiarizei totalmente com questões de identação, agradeço se puderem me ajudar. No código a baixo não está entrando no
"------------Diametro Primitivo ou N de Dentes----------"
if entrada == 0:



o Código:

M = float(input("Digite o valor do modulo: "))
print("\n")

print('Para o passo fino, recomenda-se um Ângulo de Pressão de 20°\n')
print('Para o passo grosso, recomenda-se um Ângulo de Pressão de 20° a 25°\n')

AngPres = input ('Digite o valor do Angulo de Pressão: ')
print('\nDigite o 0 para Utilizar como entrada os Números de Dentes\n')
entrada = input('Digite o 1 para Utilizar como entrada o Diâmetro Primitivo\n')
armazenar = open('_resultado.txt', "w")
armazenar.write('------------------Cálculo para Engrenagem de Dente Reto-------------\n')
armazenar.write('\n')
armazenar.write(' Característica Valor\n')
armazenar.write('\n')
"-----------------------Dente Padronizado------------------------"
while True:
if M >= 1.25: "Passo Grosso"
"---------------Tabela do Livro ---------------------"
Adendo = 1*M
Dedendo =1.25*M
ProfundidadeDeTrabalho = 2*M
Profundidade = 2.25*M
EspessuraDoDente = 1.57*M
RaioDeArredondamento = 0.30*M
FolgaMinima = 0.25*M
MinimaEspessuraDoTopo = 0.25*M
AlturaDente = Adendo+Dedendo
"---------------------------------------------------"
with open('Passo_Grosso.txt','w') as armazenar:
armazenar.write('---------------------Passo Grosso-----------------\n')
armazenar.write('---------------------Especificações AGMA-------------\n')
armazenar.write(' Adendo(mm) = ')
armazenar.write(str(Adendo))
armazenar.write('\n')
armazenar.write(' Dedendo(mm) = ')
armazenar.write(str(Dedendo))
armazenar.write('\n')
armazenar.write(' Profundidade De Trabalho(mm) = ')
armazenar.write(str(ProfundidadeDeTrabalho))
armazenar.write('\n')
armazenar.write(' Profundidade(mm) = ')
armazenar.write(str(Profundidade))
armazenar.write('\n')
armazenar.write(' Espessura Do Dente(mm) = ')
armazenar.write(str(FolgaMinima))
armazenar.write('\n')
armazenar.write(' Raio De Arredondamento(mm) = ')
armazenar.write(str(RaioDeArredondamento))
armazenar.write('\n')
armazenar.write(' Minima Espessura Do Topo(mm) = ')
armazenar.write(str(MinimaEspessuraDoTopo))
armazenar.write('\n')
armazenar.write(' Altura Dente(mm) = ')
armazenar.write(str(AlturaDente))
armazenar.write('\n')
armazenar.write('---------------------------------------------------------\n')
armazenar.write('\n')

if M < 1.25: "Passo Fino"
"---------------Tabela do Livro ---------------------"
Adendo_pf = 1*M
Dedendo_pf = 1.40*M
ProfundidadeDeTrabalho_pf = 2*M
Profundidade_pf = 2.40*M
EspessuraDoDente_pf = 1.57*M
FolgaMinima_pf = 0.40*M
AlturaDente_pf = Adendo_pf+Dedendo_pf
"---------------------------------------------------"
with open('Passo_Fino.txt','w') as armazenar:

armazenar.write('---------------------Passo Fino-----------------\n')
armazenar.write('---------------------Especificações AGMA-----------------\n')
armazenar.write(' Adendo(mm) = ')
armazenar.write(str(Adendo_pf))
armazenar.write('\n')
armazenar.write(' Dedendo(mm) = ')
armazenar.write(str(Dedendo_pf))
armazenar.write('\n')
armazenar.write(' Profundidade De Trabalho(mm) = ')
armazenar.write(str(ProfundidadeDeTrabalho_pf))
armazenar.write('\n')
armazenar.write(' Profundidade(mm) = ')
armazenar.write(str(Profundidade_pf))
armazenar.write('\n')
armazenar.write(' Espessura Do Dente(mm) = ')
armazenar.write(str(EspessuraDoDente_pf))
armazenar.write('\n')
armazenar.write(' Folga Minima(mm) = ')
armazenar.write(str(FolgaMinima_pf))
armazenar.write('\n')
armazenar.write(' Altura Dente(mm) = ')
armazenar.write(str(AlturaDente_pf))
armazenar.write('\n')
armazenar.write('---------------------------------------------------------\n')
armazenar.write('\n')
armazenar.close()

"------------Diametro Primitivo ou N de Dentes----------"
if entrada == 0:
NDT1 = input('Digite o número de Dentes para a Engrenagem 1: \n')
NDT2 = input('Digite o número de Dentes para a Engrenagem 2: ')
if AngPres == 14.5:
if NDT1 <= 37:
print('Número de Dentes abaixo do recomendado\n')
print('------------------Numero de dentes recomendados------------------\n')
print(' Angulo Preção No de Dentes\n')
print(' 14.5o = 37 \n')
print(' -----> 20o = 21 \n')
print(' -----> 25o = 14 \n')
d = input('Deseja alterar o numero de dentes novamente ? se sim digite [>> 0 <<]: \n')
if d == 0:
NDT1 = input('Digite o novo Número de Dentes para a Engrenagem 1: ')
d = 1
if NDT2 <= 37:
print('Número de Dentes abaixo do recomendado\n')
print('------------------Numero de dentes recomendados------------------\n')
print(' Angulo Preção No de Dentes\n')
print(' 14.5o = 37 \n');
print(' -----> 20o = 21 \n')
print(' -----> 25o = 14 \n')
d = input('Deseja alterar o numero de dentes novamente ? se sim digite [>> 0 <<]: \n')
if d == 0:
NDT2 = input('Digite o novo Número de Dentes para a Engrenagem 2: ')
d = 1
if AngPres == 20:
if NDT1 <= 21:
print('Número de Dentes abaixo do recomendado\n')
print('------------------Numero de dentes recomendados------------------\n')
print(' Angulo Preção No de Dentes\n')
print(' 14.5o = 37 \n');
print(' -----> 20o = 21 \n')
print(' -----> 25o = 14 \n')
d = input('Deseja alterar o numero de dentes novamente ? se sim digite [>> 0 <<]: \n')
if d == 0:
NDT1 = input('Digite o novo Número de Dentes para aEngrenagem 1: ')
d = 1
if NDT2 <= 21:
print('Número de Dentes abaixo do recomendado\n')
print('------------------Numero de dentes recomendados------------------\n')
print(' Angulo Preção No de Dentes\n')
print(' 14.5o = 37 \n');
print(' -----> 20o = 21 \n')
print(' -----> 25o = 14 \n')
d = input('Deseja alterar o numero de dentes novamente ? se sim digite [>> 0 <<]: \n')
if d == 0:
NDT2 = input('Digite o novo Número de Dentes para aEngrenagem 2: ')
d = 1
if AngPres == 25:
if NDT1 <= 14:
print('Número de Dentes abaixo do recomendado\n')
print('------------------Numero de dentes recomendados------------------\n')
print(' Angulo Preção No de Dentes\n')
print(' 14.5o = 37 \n');
print(' -----> 20o = 21 \n')
print(' -----> 25o = 14 \n')
d = input('Deseja alterar o numero de dentes novamente ? se sim digite [>> 0 <<]: \n')
if d == 0:
NDT1 = input('Digite o novo Número de Dentes para a Engrenagem 1: ')
d = 1
if NDT2 <= 14:
print('Número de Dentes abaixo do recomendado\n')
print('------------------Numero de dentes recomendados------------------\n')
print(' Angulo Preção No de Dentes\n')
print(' 14.5o = 37 \n');
print(' -----> 20o = 21 \n')
print(' -----> 25o = 14 \n')
d = input('Deseja alterar o numero de dentes novamente ? se sim digite [>> 0 <<]: \n')
if d == 0:
NDT2 = input('Digite o novo Número de Dentes para a Engrenagem 2: ')
d = 1
Dp1 = (M*NDT1)
Dp2 = (M*NDT2)

if entrada == 1:
Dp1 = input('Digite o Diâmetro primitivo da Engrenagem 1(mm):\n ')
Dp2 = input('Digite o Diâmetro primitivo da Engrenagem 2(mm):\n ')
NDT1 = (Dp1/M)
NDT2 = (Dp2/M)
if AngPres == 14.5:
if NDT1 <= 37:
print('Número de Dentes abaixo do recomendado\n')
print('----------Numero de dentes recomendados - DP------------------\n')
print(' Diametro Primitivo No de Dentes\n')
print(' 46,5 (mm) = 37 \n');
print(' ---> 26,25 (mm) = 21 \n')
print(' ---> 17,25 (mm) = 14 \n')
d = input('Deseja alterar o numero de dentes novamente ? se sim digite [>> 0 <<]: \n')
if d == 0:
Dp1 = input('Digite o novo Diâmetro primitivo para a Engrenagem 1(mm): ')
d = 1
if NDT2 <= 37:
print('Número de Dentes abaixo do recomendado\n')
print('----------Numero de dentes recomendados - DP------------------\n')
print(' Diametro Primitivo No de Dentes\n')
print(' 46,5 (mm) = 37 \n');
print(' ---> 26,25 (mm) = 21 \n')
print(' ---> 17,25 (mm) = 14 \n')
d = input('Deseja alterar o numero de dentes novamente ? se sim digite [>> 0 <<]: \n')
if d == 0:
Dp2 = input('Digite o novo Diâmetro primitivo para a Engrenagem 1(mm): ')
d = 1
if AngPres == 20:
if NDT1 <= 21:
print('Número de Dentes abaixo do recomendado\n')
print('----------Numero de dentes recomendados - DP------------------\n')
print(' Diametro Primitivo No de Dentes\n')
print(' 46,5 (mm) = 37 \n');
print(' ---> 26,25 (mm) = 21 \n');
print(' ---> 17,25 (mm) = 14 \n');
d = input('Deseja alterar o numero de dentes novamente ? se simdigite [>> 0 <<]: \n')
if d == 0:
Dp1 = input('Digite o novo Diâmetro primitivo para aEngrenagem 1(mm): ')
d = 1
if NDT2 <= 21:
print('Número de Dentes abaixo do recomendado\n')
print('----------Numero de dentes recomendados - DP------------------\n')
print(' Diametro Primitivo No de Dentes\n')
print(' 46,5 (mm) = 37 \n');
print(' ---> 26,25 (mm) = 21 \n');
print(' ---> 17,25 (mm) = 14 \n');
d = input('Deseja alterar o numero de dentes novamente ? se simdigite [>> 0 <<]: \n')
if d == 0:
Dp2 = input('Digite o novo Diâmetro primitivo para aEngrenagem 1(mm): ')
d = 1
if AngPres == 25:
if NDT1 <= 14:
print('Número de Dentes abaixo do recomendado\n')
print('----------Numero de dentes recomendados - DP------------------\n')
print(' Diametro Primitivo No de Dentes\n')
print(' 46,5 (mm) = 37 \n');
print(' ---> 26,25 (mm) = 21 \n');
print(' ---> 17,25 (mm) = 14 \n');
d = input('Deseja alterar o numero de dentes novamente ? se sim digite [>> 0 <<]: \n')
if d == 0:
Dp1 = input('Digite o novo Diâmetro primitivo para aEngrenagem 1(mm): ')
d = 1
if NDT2 <= 14:
print('Número de Dentes abaixo do recomendado\n')
print('----------Numero de dentes recomendados - DP------------------\n')
print(' Diametro Primitivo No de Dentes\n')
print(' 46,5 (mm) = 37 \n');
print(' ---> 26,25 (mm) = 21 \n');
print(' ---> 17,25 (mm) = 14 \n');
d = input('Deseja alterar o numero de dentes novamente ? se simdigite [>> 0 <<]: \n')
if d == 0:
Dp2 = input('Digite o novo Diâmetro primitivo para aEngrenagem 2(mm): ')
d = 1
NDT1 = (Dp1/M)
NDT2 = (Dp2/M)
## OBS: A PARTIR DAQUI NÃO TENHO CERTEZA DA IDENTAÇÃO, POIS NÃO SEI DIZER ONDE ESTÃO ESSAS PRÓXIMAS LINHAS DE COD, DENTRO DO LOOP WHILE?
print(armazenar, '\n');
print(armazenar, '----------------------Dados Gerais-------------------\n');
print(armazenar, ' Número de Dentes 1 =%f\n', NDT1);
print(armazenar, ' Número de Dentes 2 =%f\n', NDT2);
print(armazenar, ' Diâmetro Primitivo 1(mm) =%f\n', Dp1);
print(armazenar, ' Diâmetro Primitivo 2(mm) =%f\n', Dp2);
print(armazenar, ' Módulo(mm) =%f\n', M);
print(armazenar, ' Ângulo de Pressão(o) =%f\n', AngPres);
#clc##como dar esse clear no python?

#----------------Relação de Velocidade e Torque----------------
MV = (NDT1/NDT2)
MT = (NDT2/NDT1)
if MV > MT: #Relação de Transmissão
MG = MV
else:
MG = MT
#-------------------------Diametros-------------------------------
Dext1 = Dp1 + 2*M
Dext2 = Dp2 + 2*M
print(armazenar, '\n');
print(armazenar, '---------------------Diâmetros Externos-----------------\n');
print(armazenar, ' Diâmetro Externo 1(mm) =%f\n', Dext1);
print(armazenar, ' Diâmetro Externo 2(mm) =%f\n', Dext2);
#clc##como dar esse clear no python?
#---------------------Distância entre Eixos-----------------------
E = (Dp1 + Dp2)/2
print(armazenar, '\n');
print(armazenar, '------------------------Distância--------------------\n');
print(armazenar, ' Distância Entre Eixos(mm) =%f\n', E);
#clc##como dar esse clear no python?
#----------------------Passos------------------------
PassoCircular = (M*(math.pi))
PassodeBase = PassoCircular*math.cos(math.deg2rad(AngPres))
PassoDiametral = (math.pi)/PassoCircular
print(armazenar, '\n');
print(armazenar, '--------------------------Passos--------------------\n');

print(armazenar, ' Passo Circular(mm) =%f\n', PassoCircular);
print(armazenar, ' Passo de Base(mm) =%f\n', PassodeBase);
print(armazenar, ' Passo Diametral(1/mm) =%f\n', PassoDiametral);
#clc
#-----------------------Raios--------------------
r1 = Dp1/2
r2 = Dp2/2
print(armazenar, '\n');
print(armazenar, '---------------------Raios Primitivos-----------------\n');
print(armazenar, ' Raio Primitivo 1(mm) =%f\n', r1);
print(armazenar, ' Raio Primitivo 2(mm) =%f\n', r2);
#clc
#-----------------Razão de contato-------------------
ComprimentoDeAcao = (math.sqrt(((r1+Adendo)^2)-((r1*math.cos(math.deg2rad(AngPres)))^2)) +
math.sqrt(((r2+Adendo)^2)-((r2*math.cos(math.deg2rad(AngPres)))^2)))
(E*math.sin(math.deg2rad(AngPres)))
GraudeRecobrimento = ComprimentoDeAcao/PassodeBase
print(armazenar, '\n');
print(armazenar, '---------------------Razão de Contato-----------------\n');
print(armazenar, ' Comprimento De Ação(mm) =%f\n', ComprimentoDeAcao);
print(armazenar, ' Grau de Recobrimento =%f\n', GraudeRecobrimento);
#clc
#-------------------Jogo de Dentes----------------
j = input('Digite 0 se deseja calcular uma mudança no jogo de Dentes: \n')
if j == 0:
porcentagem = input('Digite a porcentagem que se deseja aumentar na distância entre centros: \n')
aumento = 1+(porcentagem/100)
AngPresNovo = math.rad2deg(math.acos(math.cos(math.deg2rad(AngPres))/aumento))
MudancaNoJogo1 = 43200*((porcentagem/100)(E))((math.tan(math.deg2rad(AngPresNovo)))/(math.pi*Dp1))
MudancaNoJogo2 = 43200*((porcentagem/100)(E))((math.tan(math.deg2rad(AngPresNovo)))/(math.pi*Dp2))
print(armazenar, '\n');
print(armazenar, '---------------------Jogo de Dentes------------------\n');
print(armazenar, ' Angulo de Pressão Novo(°) =%f\n', AngPresNovo);
print(armazenar, ' Mudança no Jogo 1(min de arco)=%f\n', MudancaNoJogo1);
print(armazenar, ' Mudança no Jogo 2(min de arco)=%f\n', MudancaNoJogo2);
#clc
#--------------------Torque-----------------------
b = input('Digite 0 para calcular o Torque: ')
if b == 0:
F = input('Digite a Força aplicada no Sistema (N): ')
Torque1 = F*r1
Torque2 = F*r2
ComponenteTangencial = Torque1/r1
ComponenteRadial = ComponenteTangencial*math.tan(math.deg2rad(AngPres))
ForcaResultante = ComponenteTangencial/math.cos(math.deg2rad(AngPres))
print(armazenar, '\n');
print(armazenar, '-------------------------Torque---------------------\n');
print(armazenar, ' Força Aplicada(N) =%f\n', F);
print(armazenar, ' Torque 1(N.mm) =%f\n', Torque1);
print(armazenar, ' Torque 2(N.mm) =%f\n', Torque2);
print(armazenar, ' Componente Tangencial(N) =%f\n', ComponenteTangencial);
print(armazenar, ' Componente Radial(N) =%f\n', ComponenteRadial);
print(armazenar, ' Força Resultante(N) =%f\n', ForcaResultante);



  


2. Re: Não consigo entrar no If

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 01/11/2020 - 17:15h

Não dá p analisar pq saiu toda identação. Recomendo usar o debugador p python
https://www.digitalocean.com/community/tutorials/how-to-use-the-python-debugger


3. Re: Não consigo entrar no If

Lucas Doná Sfalcin
lucasdona

(usa Linux Mint)

Enviado em 02/11/2020 - 09:01h

Pelo q vi, o "entrada" é um imput (string) e seu if ta comparando com int
Teria que converter para int no if ou fazer a coparação de string, que é o que vem do imput.

if ( int(entrada) == 0 ): #verifica se entrada, que é um inteiro também é igual ao numero 0

ou

if ( entrada.find("0") != -1): #verifica se entrada contem o nome "0" se retornar diferente de -1 encontou, se retornar -1 não encontrou o caracter "0"


4. Re: Não consigo entrar no If

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 02/11/2020 - 09:42h

lucasdona escreveu:

Pelo q vi, o "entrada" é um imput (string) e seu if ta comparando com int
Teria que converter para int no if ou fazer a coparação de string, que é o que vem do imput.

if ( int(entrada) == 0 ): #verifica se entrada, que é um inteiro também é igual ao numero 0

ou

if ( entrada.find("0") != -1): #verifica se entrada contem o nome "0" se retornar diferente de -1 encontou, se retornar -1 não encontrou o caracter "0"

Ou fazer
entrada = int( input('Digite o 1 para Utilizar como entrada o Diâmetro Primitivo\n'))

Outra coisa é q a identação de if M >= 1.25 e if M < 1.25 parece estar incorreta







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts