Foram incluídos links para a lista de exercícios no site Python Brasil. Os
links podem ser acessados na página principal [1] e na página "Aprenda Mais"
[2]. É possível acessar também através de um link direto [3]. Desta forma,
não é mais necessário usar a opção de pesquisa do site pra chegar na página.
Conforme consta na página:
"Esta é uma lista com sugestões de programas para iniciantes em programação.
Os exercícios podem ser implementados em pseudo-código, Python, C, C++,
Java, Pascal ou em qualquer outra linguagem. Os exercícios estão divididos
em categorias e procuram obedecer uma ordem de dificuldade crescente. Cada
exercício é independente do outro, sendo possível deixar exercícios para
trás sem grandes prejuízos."
1- http://www.pythonbrasil.com.br/
2- http://www.pythonbrasil.com.br/moin.cgi/AprendaMais
3- http://www.pythonbrasil.com.br/moin.cgi/ListaDeExercicios
Um abraço
--
Marco André
marco...@gmail.com
http://marrcandre.blogspot.com
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia: |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar |
| E se você é usuário do BOL lembre-se de cadastrar o |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/python-brasil/
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html
Os problemas são pra iniciantes, mas ficam bem divertidos quando você
se auto-impõe um limite de uma linha de código para cada um :)
Fiz os dez primeiros da parte de listas assim, minhas respostas abaixo.
<beakman> Não tente repetir isso sem a supervisão de um adulto </beakman>
# Faça um Programa que leia um vetor de 5 números inteiros e mostre-os.
print "\n".join(str(int(raw_input())) for x in range(5))
# Faça um Programa que leia um vetor de 10 números reais e mostre-os
na ordem inversa.
print "\n".join(reversed([str(float(raw_input())) for x in range(10)]))
# Faça um Programa que leia 4 notas, mostre as notas e a média na tela.
print "\n".join(str(i) for i in ((lambda a: a +
[sum(a)/len(a)])([float(raw_input()) for b in range(4)])))
# Faça um Programa que leia um vetor de 10 caracteres, e diga quantas
consoantes foram lidas. Imprima as consoantes.
print "\n".join((lambda a: [str(len(a))]+a)([c for c in
raw_input()[:10] if c.lower() in "bcdfghjklmnpqrstvwxyz"]))
# Faça um Programa que leia 20 números inteiros e armazene-os num
vetor. Armazene os números pares no vetor PAR e os números IMPARES no
vetor impar. Imprima os três vetores.
print "original: %s\npar: %s\nimpar: %s" % ((lambda f,a:(f(a),f(i for
i in a if i%2),f(i for i in a if not i%2)))((lambda x:" ".join(str(i)
for i in x)),[int(raw_input()) for i in range(20)]))
# Faça um Programa que peça as quatro notas de 10 alunos, calcule e
armazene num vetor a média de cada aluno, imprima o número de alunos
com média maior ou igual a 7.0.
print len([a for a in [[float(raw_input()) for j in range(4)] for i in
range(10)] if sum(a)/len(a)>=7])
# Faça um Programa que leia um vetor de 5 números inteiros, mostre a
soma, a multiplicação e os números.
print "\n".join(str(i) for i in ((lambda a:[sum(a),reduce(lambda
x,y:x*y,a)]+a)([int(raw_input()) for i in range(5)])))
# Faça um Programa que peça a idade e a altura de 5 pessoas, armazene
cada informação no seu respectivo vetor. Imprima a idade e a altura na
ordem inversa a ordem lida.
print "\n".join(str(i) for i in ((lambda a:[i[0] for i in
reversed(a)]+[i[1] for i in
reversed(a)])([(int(raw_input()),int(raw_input())) for i in
range(5)])))
# Faça um Programa que leia um vetor A com 10 números inteiros,
calcule e mostre a soma dos quadrados dos elementos do vetor.
print "\n".join(str(i*i) for i in [int(raw_input()) for j in range(10)])
# Faça um Programa que leia dois vetores com 10 elementos cada. Gere
um terceiro vetor de 20 elementos, cujos valores deverão ser compostos
pelos elementos intercalados dos dois outros vetores.
print "\n".join(i for i in ((lambda f:((lambda
a,b:[(a+b)[(i%2)*len(a)+(i/2)] for i in
range(2*len(a))])(f(),f())))(lambda: [raw_input() for i in
range(10)])))
(Se tirarem lambda e reduce no python 3000 eu vou ficar triste)
--
Ricardo Bittencourt
http://www.ricbit.com
Opa, Obfuscated Python Contest? oba oba! tambem vou entrar nessa =]
Bom, nao preciso citar o Zen e agora fiquei com nojo de python ao ve
os codigos acima.
lambda lambda lambda, walison
[As partes desta mensagem que não continham texto foram removidas]
2008/5/22 Pinguim Azul <bluep...@gmail.com>:
> 2008/5/22 Marco André Lopes Mendes <marco...@gmail.com<marcoandre%40gmail.com>
--
Francisco S. Souza
Google Talk/Windows Live: francis...@gmail.com
[As partes desta mensagem que não continham texto foram removidas]
--- Em python...@yahoogrupos.com.br, "Francisco Souza"
<franciscossouza@...> escreveu
>
> Nossa, eu sentiria vergonha de fazer isso ;P
>
> 2008/5/22 Pinguim Azul <bluepenguin@...>:
>
> > 2008/5/22 Marco André Lopes Mendes
<marcoandre@...<marcoandre%40gmail.com>
> Google Talk/Windows Live: franciscossouza@...
Se eu me lembro bem (e nada tenha mudado), o lambda vai continuar e o
reduce vai para um módulo de "coisas funcionais". Mas você sempre
poderia escrever seu próprio reduce em uma linha de código ;-)
[]s
Carlos
Uma linha curta :)
my_reduce = lambda f, x: x[0] if len(x)==1 else f(x[0], my_reduce(f, x[1:]))