h0t8 - Challenge 2 - FULL - Python
+3
OmegaMK-XII
Z3r0
h0t8
7 participantes
:: Programação :: A competição :: Arquivo :: Challenge 2
Página 1 de 2
Página 1 de 2 • 1, 2
h0t8 - Challenge 2 - FULL - Python
Challenge 2 - Light
Documentação de cada linha do código: http://codepad.org/ZMtdTYdI
Documentação de cada linha do código: http://codepad.org/g7Ru83BX
Documentação de cada linha do código: http://codepad.org/Y6vQ8Aha
Documentação de cada linha do código: http://codepad.org/MxAyAsxC
Documentação de cada linha do código: http://codepad.org/sBM0CiAl
Documentação de cada linha do código: http://codepad.org/y0AhtLIF
Documentação de cada linha do código: http://codepad.org/CX8Sdekb
Documentação de cada linha do código: http://codepad.org/x0p2b8PX
Documentação de cada linha do código: http://codepad.org/IdilRVAX
1 - Faça um Programa que leia um número e exiba o dia correspondente da semana (Começando de domingo ). Caso você digite outro valor deve aparecer valor inválido.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/ZMtdTYdI
2 - Faça um Programa que peça um número correspondente a um determinado ano e em seguida informe se este ano é ou não bissexto.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/g7Ru83BX
3 - Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/Y6vQ8Aha
4 - Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/MxAyAsxC
5 - Faça um programa que calcule a quantidade dinheiro gasto por um fumante.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/sBM0CiAl
6 - Escreva um algoritmo para encontrar o número do telefone correspondente a um determinado
nome
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/y0AhtLIF
7 - Faça um Programa que leia dois vetores com 10 elementos cada podendo ser strings ou números. Gere um terceiro vetor de 20 elementos, cujos valores deverão ser compostos pelos elementos intercalados dos dois outros vetores.
1 | vetor1, vetor2, = range(1,11), ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]; vetor3 = vetor1+vetor2 |
Documentação de cada linha do código: http://codepad.org/CX8Sdekb
8 - Utilizando vetores faça um programa que faça 5 perguntas para uma pessoa sobre um crime.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/x0p2b8PX
9 - Faça um programa que leia 2 strings e informe o conteúdo delas seguido do seu comprimento. Informe também se as duas strings possuem o mesmo comprimento e são iguais ou diferentes no conteúdo.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/IdilRVAX
Última edição por h0t8 em Seg Jul 18, 2011 5:26 pm, editado 5 vez(es)
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Re: h0t8 - Challenge 2 - FULL - Python
h0t8 escreveu:2 - Faça um Programa que peça um número correspondente a um determinado ano e em seguida informe se este ano é ou não bissexto.
1
2
3
4
5
6
7
8
9
10
11
12 # -*- coding: utf-8 -*-
while True:
data = raw_input("Digite uma data com o seguinte formato dd/mm/aaaa: ")
if "/" not in data: print("A data precisa estar nesse formato dd/mm/aaaa");continue
try: data = eval(data.replace("/", ","))
except: continue
if data[0] > 31 and data[1] > 12 or data[0] < 0 and data[1] < 0: print("Data totalmente inválida");continue
if data[0] > 31 or data[0] < 0: print("Dia Inválido");continue
if data[1] > 12 or data[1] < 0: print("Mês Inválido");continue
if data[2] < 0: print("Non ita vetus sodalis.");continue
elif data[2] % 400 == 0 or data[2] % 4 == 0 and data[2] % 100 != 0: print("Data Válida - É bissexto");break
elif data[2] % 100 == 0 and data[2] % 400 != 0: print("Data Inválida - Não é bissexto");break
Documentação de cada linha do código: http://codepad.org/SoPi4LwJ
Esse deu erro veio... tipo.. se você digitar por exemplo: 15/07/2011 , era para aparecer "Data Inválida - Não é bissexto" mas ao invés disto, está retornando ao laço while "Digite uma data com o seguinte formato dd/mm/aaaa: " . Se imprimisse ""Data Inválida - Não é bissexto" e depois retornasse para o laço, estaria correto...mas.. o problema é que não está printando...e nesse caso saber se é ou não é importante. Debbuga ae =D
5 - Faça um programa que calcule a quantidade dinheiro gasto por um fumante.
E sobre esse....o que tenho a dizer é........ NÃO fumar... rende viu? ahuuahhuaa
Re: h0t8 - Challenge 2 - FULL - Python
h0t8 escreveu:7 - Faça um Programa que leia dois vetores com 10 elementos cada podendo ser strings ou números. Gere um terceiro vetor de 20 elementos, cujos valores deverão ser compostos pelos elementos intercalados dos dois outros vetores.
1 vetor1, vetor2, = range(1,11), ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]; vetor3 = vetor1+vetor2
Outra coisa ...estranhamente...este não está retornando nada... o.o
Re: h0t8 - Challenge 2 - FULL - Python
Z3r0 escreveu:h0t8 escreveu:7 - Faça um Programa que leia dois vetores com 10 elementos cada podendo ser strings ou números. Gere um terceiro vetor de 20 elementos, cujos valores deverão ser compostos pelos elementos intercalados dos dois outros vetores.
1 vetor1, vetor2, = range(1,11), ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]; vetor3 = vetor1+vetor2
Outra coisa ...estranhamente...este não está retornando nada... o.o
É que não tinha nenhuma mensagem falando quera era pra mostrar o conteúdo dos vetores na pagina dos exercícios, de qualquer forma já corrigi
Sobre o exercício de número 2, realmente não está funcionando corretamente e estou tentando ver pq aqui, assim que eu corrigir posto o código consertado aqui.
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Re: h0t8 - Challenge 2 - FULL - Python
Acho que é nas regras do ano bissexto. 2011 não encaixa em nenhuma delas, dá uma revisada nelas.
Vc poderia escrever data[2] % 400 == 0 or (data[2] % 4 == 0 and data[2] % 100 != 0) pro interpretador saber a regra diretinho. Ele poderia tentar fazer (data[2] % 400 == 0 or data[2] % 4 == 0) and data[2] % 100 != 0 e sair errado.
Vc poderia escrever data[2] % 400 == 0 or (data[2] % 4 == 0 and data[2] % 100 != 0) pro interpretador saber a regra diretinho. Ele poderia tentar fazer (data[2] % 400 == 0 or data[2] % 4 == 0) and data[2] % 100 != 0 e sair errado.
Usando parênteses.
OmegaMK-XII- Mensagens : 29
Data de inscrição : 04/07/2011
Re: h0t8 - Challenge 2 - FULL - Python
OmegaMK-XII escreveu:Acho que é nas regras do ano bissexto. 2011 não encaixa em nenhuma delas, dá uma revisada nelas.
Vc poderia escrever data[2] % 400 == 0 or (data[2] % 4 == 0 and data[2] % 100 != 0) pro interpretador saber a regra diretinho. Ele poderia tentar fazer (data[2] % 400 == 0 or data[2] % 4 == 0) and data[2] % 100 != 0 e sair errado.Usando parênteses.
Obrigado pela dica, tentei ela mas não funcionou, resolvi o problema colocando um else pra caso nenhuma das condições anteriores fossem verdadeira.
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Re: h0t8 - Challenge 2 - FULL - Python
h0t8 escreveu:OmegaMK-XII escreveu:Acho que é nas regras do ano bissexto. 2011 não encaixa em nenhuma delas, dá uma revisada nelas.
Vc poderia escrever data[2] % 400 == 0 or (data[2] % 4 == 0 and data[2] % 100 != 0) pro interpretador saber a regra diretinho. Ele poderia tentar fazer (data[2] % 400 == 0 or data[2] % 4 == 0) and data[2] % 100 != 0 e sair errado.Usando parênteses.
Obrigado pela dica, tentei ela mas não funcionou, resolvi o problema colocando um else pra caso nenhuma das condições anteriores fossem verdadeira.
Tá vendo........as vezes o que salva.. é uma mera gambi!
Re: h0t8 - Challenge 2 - FULL - Python
hot8, olha meu jogo la *-*
Op@alo- Mensagens : 67
Data de inscrição : 02/07/2011
Idade : 32
Localização : Parnamirim-RN
Challenge 2 - Moderate
1 - Faça um programa que dado um vetor de elementos com uma repetição, encontre o elemento repetido. Ou seja, encontrar o elemento que aparece duas vezes dentro de um vetor.
1 | for v in [1,2,3,4,1,5]: |
Documentação de cada linha do código: http://codepad.org/5G5Ver4H
2 - Já brincou de pedra, papel, tesoura? Então vamos brincar disto em programação. Faça um programa que simula dois jogadores brincando de pedra , papel, tesoura levando em conta os seguintes valores correspondentes à brincadeira.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/aZRNxCLJ
3 - Crie um programa que preencha aleatoriamente um vetor do tipo inteiro de 10 posições com números entre 0 e 99, peça pro usuário digitar um número e busque o número digitado no vetor. Se encontrado avise em que posição do vetor o número se encontra, se não encontrado avise que o número não existe e retorne para a pergunta inicial.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/a0hiMKYR
4 - Em uma Universidade, alunos estão com diculdade em calcular a média das notas de três provas aplicadas em um trimestre. Faça um programa que peça a nota das três avaliações sendo que a média nesta Universidade, é 6.0.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/fc3TKkLy
5 - Faça um programa que imprima uma lista de modelos de carro e te peça para escolher um dos modelos mostrados. Ao escolher um dos modelos, este mesmo programa irá imprimir os seguintes detalhes.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/euVCMUSM
6 - Modifique o programa do desafio 5 de modo que você possa agora adicionar modelos de carros bem como os detalhes.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/QNxVA1Ga
7 - Faça um programa que peça para 10 pessoas as suas idades, ao final o programa devera verificar se a média de idade deste grupo de pessoas varia entre 1 e 25,26 e 60 e maior que 60; e então, dizer se o grupo é jovem, adulta ou idosa, conforme a média calculada.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/LnEHQH0Y
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Challenge 2 - Moderate
8 - Desenvolva um programa que faça a tabuada de um número qualquer inteiro que será digitado pelo usuário, mas a tabuada não deve necessariamente iniciar em 1 e terminar em 10, o valor inicial e final devem ser informados também pelo usuário.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/kI5UNt3P
9 - Faça uma função que retorne o reverso de um número inteiro informado.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/CPDTc46q
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Re: h0t8 - Challenge 2 - FULL - Python
Códigos testados e aprovados. Gostei muito do 6 - moderate. Muito soda!
Re: h0t8 - Challenge 2 - FULL - Python
Z3r0 escreveu:Códigos testados e aprovados. Gostei muito do 6 - moderate. Muito soda!
caraca , esse 6 é soda mesmo !, da pra fazer em C isso ai ? *-*
Op@alo- Mensagens : 67
Data de inscrição : 02/07/2011
Idade : 32
Localização : Parnamirim-RN
Re: h0t8 - Challenge 2 - FULL - Python
Dá sim... e ele nem usou POO... ( programação orientada a objetos ) pq se fosse o caso, n daria pra fazer em C.. só em C++.Op@alo escreveu:Z3r0 escreveu:Códigos testados e aprovados. Gostei muito do 6 - moderate. Muito soda!
caraca , esse 6 é soda mesmo !, da pra fazer em C isso ai ? *-*
Challenge 2 - Hardcore
1 - Faça um programa que imprima a sí mesmo ou seja, imprimir na tela o seu próprio código fonte. O código fonte será exibido ao abrir o arquivo onde ele está. Obs: Não é permitido o programa abrir e ler o próprio código com chamadas de manipulação de arquivo.
1 | cdfonte = ("a, b, = 2, 3; c = a+b","""print 'cdfonte = ("%s","%s","%s")' %cdfonte""","for v in range(0,3): print cdfonte[v]") |
Documentação de cada linha do código: http://codepad.org/f997t92u
2 - A soma dos números primos abaixo de 10 é 2 + 3 + 5 + 7 = 17.
Faça um programa que encontre e imprima a soma de todos os números primos abaixo de dois milhões como também, imprima quantos números foram encontrados.
1 | # -*- coding: utf-8 -*- |
Documentação de cada linha do código: http://codepad.org/TQyhloaW
Última edição por h0t8 em Ter Jul 26, 2011 9:52 pm, editado 1 vez(es)
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Re: h0t8 - Challenge 2 - FULL - Python
Z3r0 escreveu:Sinto cheiro de juízo queimado.
Parabéns miseravi!
Valeu!
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Re: h0t8 - Challenge 2 - FULL - Python
Challenge 2 - Light - 4 - Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações.
Não sei se é importante o que estou propondo, já que a questão não deixa isso claro, mais aí vai.
A comparação do seu código não é case sensitive, ou seja, "Action Chaos" vai ser igual a "action chaos".
Então usei um hash MD5 para fazer a comparação.
1 | # -*- coding: utf-8 -*- |
OBS: Desculpem qualquer coisa. Sou noob aqui!
Action Chaos- Mensagens : 2
Data de inscrição : 24/07/2011
Re: h0t8 - Challenge 2 - FULL - Python
Action Chaos escreveu:Challenge 2 - Light - 4 - Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações.
Não sei se é importante o que estou propondo, já que a questão não deixa isso claro, mais aí vai.
A comparação do seu código não é case sensitive, ou seja, "Action Chaos" vai ser igual a "action chaos".
Então usei um hash MD5 para fazer a comparação.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 # -*- coding: utf-8 -*-
"""
4 - Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações.
O código abaixo rodou em:
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
"""
import hashlib
def get_md5sum(elemento):
tmp_hash = hashlib.md5()
tmp_hash.update(elemento)
return tmp_hash.hexdigest()
while True:
login = raw_input("Digite seu login: ")
senha = raw_input("Digite sua senha: ")
login_md5 = get_md5sum(login)
senha_md5 = get_md5sum(senha)
if senha_md5 == login_md5:
print("A senha não pode ser igual ao login")
continue
else:
break
OBS: Desculpem qualquer coisa. Sou noob aqui!
Opa, gostei do seu código.
Mas meu quarto exercício do Light é sim case sensitive, testa ai direito
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Action Chaos
Um dos princípios básicos de programação Python e também C e C++, é que uma variável minúscula "nunca" é igual a uma maiúscula. Ou seja, fulano é diferente de Fulano. Por isso não há a necessidade de usar md5 ou coisa parecida. Bastava apenas testar o código do h0t8 para você notar isto.Action Chaos escreveu:A comparação do seu código não é case sensitive, ou seja, "Action Chaos" vai ser igual a "action chaos".
Então usei um hash MD5 para fazer a comparação.
Aproveitando ... seja bem vindo ao Challenge.
Espero que possamos sempre compartilhar ideias por aqui.
Retificação
Foi mal. Realmente. Não sei pq coloquei na cabeça que quando o programa fechava era pq login e senha eram iguais. :S
Quando é o contrário.
Coisa de noob mesmo.
Quando é o contrário.
Coisa de noob mesmo.
Action Chaos- Mensagens : 2
Data de inscrição : 24/07/2011
Re: h0t8 - Challenge 2 - FULL - Python
Action Chaos escreveu:Foi mal. Realmente. Não sei pq coloquei na cabeça que quando o programa fechava era pq login e senha eram iguais. :S
Quando é o contrário.
Coisa de noob mesmo.
Tranquilo, hehehe
Como já dizia aquela frase: "Errar é humano"
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Re: h0t8 - Challenge 2 - FULL - Python
otimo codigo.. seu codigo esta muito conciso.. nos meus que eu postei aqui, nao tratei exceções por que nao achei necessario.. mas as suas estao bem tratadas.. ta de parabens.. quanto tempo de experiencia com python voce tem?
Re: h0t8 - Challenge 2 - FULL - Python
aajjbb escreveu:otimo codigo.. seu codigo esta muito conciso.. nos meus que eu postei aqui, nao tratei exceções por que nao achei necessario.. mas as suas estao bem tratadas.. ta de parabens.. quanto tempo de experiencia com python voce tem?
Obrigado
Estudo python há mais de 1 ano, mas fui me aprofundar mesmo no inicio desse ano.
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Re: h0t8 - Challenge 2 - FULL - Python
Infelizmente também não tive tempo pra terminar as tarefas restantes.
Antes do challenge 2 eu já tinha vontade de fazer um RPG em modo texto, mas o challenge fez eu me empolgar e começar a desenvolver algo do tipo, ele não segue as regras do RPG do desafio aqui postado, fiz pensando em aplicar aquelas regras, mas infelizmente não tive tempo de fazer um jogo totalmente funcional.
Ficou algo muito seco, mas que ajudou bastante no meu aprendizado.
Foi bem trabalhoso fazer aquelas ASCII art ficarem em forma no terminal
Apesar do projeto não ter ficado pronto até o fim do challenge eu pretendo continuar ele no futuro, tem tudo pra dar certo, quem quiser colaborar é só entrar em contato.
Criei uma pagina no Google Code para o projeto:
http://code.google.com/p/montoj/
Nela você pode baixar uma versão de testes do RPG, não liguem pro código todo bagunçado ou pra bugs, não tive tempo de consertar ou otimizar o código.
Antes do challenge 2 eu já tinha vontade de fazer um RPG em modo texto, mas o challenge fez eu me empolgar e começar a desenvolver algo do tipo, ele não segue as regras do RPG do desafio aqui postado, fiz pensando em aplicar aquelas regras, mas infelizmente não tive tempo de fazer um jogo totalmente funcional.
Ficou algo muito seco, mas que ajudou bastante no meu aprendizado.
Foi bem trabalhoso fazer aquelas ASCII art ficarem em forma no terminal
Apesar do projeto não ter ficado pronto até o fim do challenge eu pretendo continuar ele no futuro, tem tudo pra dar certo, quem quiser colaborar é só entrar em contato.
Criei uma pagina no Google Code para o projeto:
http://code.google.com/p/montoj/
Nela você pode baixar uma versão de testes do RPG, não liguem pro código todo bagunçado ou pra bugs, não tive tempo de consertar ou otimizar o código.
h0t8- Mensagens : 29
Data de inscrição : 06/07/2011
Idade : 30
Localização : 127.0.0.1
Re: h0t8 - Challenge 2 - FULL - Python
Putz..testei aqui... muito bom velho. Curti muito essa interface terminal ( novo jogo, sobre ) e tal...baralho uhauhahua parabéns. De fato, tem tudo para dar certo. É.......... poo mudará tua vida auhauhauha !
Página 1 de 2 • 1, 2
Tópicos semelhantes
» h0t8 - Challenge 1 - Python
» Z3r0 - Challenge 2 - FULL - Python
» Dilan Nery - Challenge 2 - FULL - Python
» OmegaMK-XII - Challenger2 - FULL - Python
» Z3r0 - Challenge - 3 - Python
» Z3r0 - Challenge 2 - FULL - Python
» Dilan Nery - Challenge 2 - FULL - Python
» OmegaMK-XII - Challenger2 - FULL - Python
» Z3r0 - Challenge - 3 - Python
:: Programação :: A competição :: Arquivo :: Challenge 2
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
|
|