Jump to content
netorangel

Dúvida Algoritmo Python 3.1

Recommended Posts

netorangel

Salve galera...

Estou aqui com mais uma dúvida em python, quero saber como faço no código abaixo para:

>>> Para cada país, a quantidade de dias com temperatura acima de zero usando a função ja criada por mim

#importação das bibliotecas

import bibliNumeros

#iniciliazação das variaveis

qtdPaises = 2

diasTemperatura = 3

#criação das listas

nomePais = []

temperatura = []

#entradas dos dados

for i in range(qtdPaises):

    nomePais.append(str.upper(input('Digite o nome do pais.: ')))

    for i in range(diasTemperatura):

        temperatura.append(int(input('Digite a temperatura.: ')))

#qtd dias com temperatura acima de zero usando a função positivos

for i in range(qtdPaises):

        qtdDias = bibliNumeros.positivos(temperatura)

Share this post


Link to post
Share on other sites
AlexPnt

Boas, mais uma vez posso ajudar( mas em python 2.6.6)

Então, porque não começas por tratar os casos mais fáceis, ou seja quando as  duas temperaturas são negativas e logo qtdDias=0 ou quando as duas temperaturas são positivas e logo qtdDias=2.

Só depois olhamos para o ultimo caso em que só um dos paises tem a temperatura positiva e logo qtdDias=1, ou seja ficará algo como:


if qtdDias==0:
       
         print 'Nao houve dias em que a temperatura foi positiva nos dois paises! '

elif qtdDias==2:
        
         print 'Durante um dia , para cada pais, a temperatura foi positiva'

elif qtdDias==1:

           if temperatura[0]>0:

                     print 'Durante 1 dia a temperatura no pais '+nomePais[0]+'foi positiva, mas nao houve dias amenos no pais '+nomePais [1]

           else:

                     print ''Durante 1 dia a temperatura no pais '+nomePais[1]+'foi positiva, mas nao houve dias amenos no pais '+nomePais [0]
           

..... e prontos espero ter ajudado ;)


Programming is an art form that fights back.

Share this post


Link to post
Share on other sites
netorangel

Boas, mais uma vez posso ajudar( mas em python 2.6.6)

Então, porque não começas por tratar os casos mais fáceis, ou seja quando as  duas temperaturas são negativas e logo qtdDias=0 ou quando as duas temperaturas são positivas e logo qtdDias=2.

Só depois olhamos para o ultimo caso em que só um dos paises tem a temperatura positiva e logo qtdDias=1, ou seja ficará algo como:


if qtdDias==0:
       
         print 'Nao houve dias em que a temperatura foi positiva nos dois paises! '

elif qtdDias==2:
        
         print 'Durante um dia , para cada pais, a temperatura foi positiva'

elif qtdDias==1:

           if temperatura[0]>0:

                     print 'Durante 1 dia a temperatura no pais '+nomePais[0]+'foi positiva, mas nao houve dias amenos no pais '+nomePais [1]

           else:

                     print ''Durante 1 dia a temperatura no pais '+nomePais[1]+'foi positiva, mas nao houve dias amenos no pais '+nomePais [0]
           

..... e prontos espero ter ajudado ;)

Caro AlexPnt, o meu problema no código é que para cada Pais eu tenho que ter a contagem das temperaturas positivas e exibi-las no final, tipo: nomePais = [brasil, Portugal] temperatura = [26,28,35] (corresponde ao brasil) temperatura = [13,20,19](corresponde a portugal), preciso saber como faço para função positivos contar a temperatura de cada Pais.

Se você puder esclarecer isso melhor para eu, agradeço!

Share this post


Link to post
Share on other sites
AlexPnt

Boas,

Não tinha percebido bem o teu problema.

Sendo assim como sabemos que as 3 primeiras temperaturas correspondem ao 1º pais e as outras 3 ao 2º, vamos aplicar um contador que conte cada vez é que uma tempertatura é positiva, ou seja,


contador_pais_1=0

for i in range(3):
         
            if temperatura[i]>0:

                      contador_pais_1=contador_pais_2 + 1

contador_pais_2=0

for i in range(4,7):
         
            if temperatura[i]>0:

                      contador_pais_2=contador_pais_2 + 1

print ' O pais '+nomePais[0]+'teve '+str(contador_pais_1)+' dia(s) com temperatura positiva

print ' O pais '+nomePais[1]+'teve '+str(contador_pais_2)+' dia(s) com temperatura positiva
   
                  


Programming is an art form that fights back.

Share this post


Link to post
Share on other sites
hmiguel

Com dicionários para facilitar a consulta.

data = {}

qtdPaises = 2
diasTemperatura = 3

temperatura = []
nomePais = []

def positivo(temp):
pos = [ t for t in temp if t > 0]
return pos

for i in range(qtdPaises):
pais = raw_input("Digite o nome do pais.: ")
nomePais.append(pais.upper())
for i in range(diasTemperatura):
	temperatura.append(int(input('Digite a temperatura.: ')))
data[pais.upper()] = temperatura
temperatura = []


#qtd dias com temperatura acima de zero usando a funcao positivos

for i in range(qtdPaises):
qtdDias =  len(positivo(data[nomePais[i]]))
print "Pais:",nomePais[i]
print "Num. Dias:",qtdDias
print ""


#exemplo: aceder as temperaturas de Portugal
print data["PORTUGAL"]



"Homem que é Homem não usa Java!"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.