 |
|
Hoje é Ter Mai 22, 2012 10:27 am
|
Ver mensagens sem resposta | Ver tópicos ativos
| Autor |
Mensagem |
|
rodrigozhou
Data de registro: Seg Nov 24, 2008 8:53 am Mensagens: 16 Localização: Rio de Janeiro
|
 Exercício
Segue como eu fiz: Código: # Rodrigo Zhou # Curso de Python - Aula 9 # http://infog.casoft.info/?p=408
from random import *
# 1) Sorteio - Crie uma lista de 10 pessoas. Embaralhe esta lista e sorteie uma pessoa. # Depois, embaralhe novamente e sorteie outra pessoa, lembrando que não poderá ser a mesma pessoa. print('Sorteio de duas pessoas diferentes:') nomes = ['Rodrigo','Filipe','Nathalia','Viviane','Vitor','Caio','Flavia','Carol','Fabio','Mariana'] shuffle(nomes) p1=choice(nomes) nomes.remove(p1) shuffle(nomes) p2=choice(nomes) print('Primeira pessoa sorteada: %s\nSegunda pessoa sorteada: %s' %(p1,p2))
print('\n')
# 2) Mega-Sena - Crie duas listas. Uma com números de 0 a 5 e a outra de 0 a 9. # Embaralhe as listas e sorteie um número de cada uma para formar uma dezena. Repita o processo 6 vezes. # Caso a dezena seja 00, considere-o como 60. Depois disso, exiba as dezenas sorteadas. print('Sorteio de 6 dezenas (Mega-Sena):') n1 = [0,1,2,3,4,5] n2 = [0,1,2,3,4,5,6,7,8,9] dezena = 0 while dezena<6: shuffle(n1) shuffle(n1) shuffle(n2) shuffle(n2) d1 = choice(n1) d2 = choice(n2) d = int(str(d1)+str(d2)) if d==0: d = 60 dezenas = [] dezenas.extend([i for i in str(d).split()]) while str(d) in dezenas: d1 = choice(n1) d2 = choice(n2) d = int(str(d1)+str(d2)) if d==0: d = 60 print('%i dezena sorteada: %02i' %(dezena+1,d)) dezena+=1
Notas: eu repeti a função 'shuffle()' no 'n1' e no 'n2' só para estar mais embaralhado e a função 'choice()' escolhe um item de uma seqüência de forma aleatória. Obs.: não fiz conforme o exercício 2 pedia. Fiz umas modificações para ficar exatamente como é o sorteio da Mega-Sena. 
|
| Dom Jan 11, 2009 5:37 pm |
|
 |
|
Claudinei
Data de registro: Dom Nov 23, 2008 8:59 pm Mensagens: 13 Localização: Maringá
|
 Re: Exercício
Código: #!/usr/bin/env python # -*- coding: utf-8 -*- # # Lição da Aula nº 9 # Autor: Claudinei Pereira # # 1 - Sorteio - Crie uma lista com o nome de 10 pessoas, embaralhe esta lista e # sorteie uma pessoa, depois embaralhe novamente e sorteie outra pessoa, # lembrando que não poderá ser a mesma pessoa a ser sorteada. import random nomes = ["Steve Harris", "Paul Di'Anno", "Bruce ****inson", "Blaze Bayley", "Dave Murray", "Adrian Smith", "Janick Gears", "Dennis Straton", "Clive Burr", "Nicko McBrain"] print("\nExercício Nº 1 - Sorteio\n") random.shuffle(nomes) print("A primeira pessoa sorteada é: %s" % nomes.pop()) random.shuffle(nomes) print("A segunda pessoa sorteada é: %s" % nomes.pop())
# 2 - Mega Sena - Crie duas listas com números de 0 a 9, embaralhe as listas e # sorteie um número de cada uma para formar uma dezena, repita a operação 5 # vezes para sortear 5 dezenas, assim como na mega sena. Caso a dezena caia # como 00 (zero, zero) faça o sorteio dela novamente até sair outra combinação. # Depois disso exiba as dezenas sorteadas. print("\nExercício Nº 2 - Mega Sena\n") lista1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] lista2 = lista1[:] resultado = [] while len(resultado) < 6: random.shuffle(lista1) random.shuffle(lista2) resultado.append((lista1.pop() * 10) + lista2.pop()) if resultado[-1] == 0: resultado.pop() print("As dezenas sorteadas foram:\n") for dezena in resultado: print(dezena)
|
| Dom Jan 11, 2009 9:22 pm |
|
 |
|
manfazil
Data de registro: Seg Dez 15, 2008 5:57 pm Mensagens: 2
|
 Re: Exercício
Código: # -*- coding: UTF-8 -*- import random lista=['márcio','irecer','daniel','fábio','maxwell','ricardo','deusdete','áurea','cristina','sid'] sorteados=[] for n in range(2): random.shuffle(lista) sorteados.append(lista[0]) lista.remove(lista[0])
print 'Os sorteados foram',sorteados[0],'e',sorteados[1],'.'
numSorteados=[] dezena1=range(10) dezena2=range(10) while len(numSorteados)<=5: random.shuffle(dezena1),random.shuffle(dezena2) escolha=10*dezena1[0]+dezena2[0] if escolha!=0 & escolha not in numSorteados: numSorteados.append(escolha) numSorteados.sort() print 'Os números da pseudo MegaSena são',numSorteados
Foi o melhor exercício, na minha opinião!
|
| Seg Jan 12, 2009 6:55 pm |
|
 |
|
erlon.cabral
Data de registro: Dom Dez 14, 2008 7:31 pm Mensagens: 6
|
 Re: Exercício
Umas das coisas que eu mais gosto em programação é ver o quanto é possível fazer uma tarefa de várias maneiras, claro que algumas mais complicadas e outras bem mais diretas, mas é legal ver que 5 linhas as vezes fazem a mesma coisa que 15... E ai esta o primeiro exercicio um maior e outro menor, fiz com o intuito de se chegar ao objetivo proposto. Ah, não pude deixar de usar nesse exercicio a funcão choice, também do modulo random, esse modulo realmente nos ofere diversas forma de se gerar resultados aleatórios. Código: #!/usr/bin/env python # -*- coding: utf-8 -*-
import random
print 'Sorteando duas pessoas:\n'
lpessoas = [] lsorteadas = []
# incluindo um bando de Jose (nada contra o nome hein) for i in range(1,11):
nome = 'Jose %d' %i lpessoas.append(nome)
# realizando o sorteio while len(lsorteadas) < 2:
pessoa = random.choice(lpessoas)
# uma pessoa já sorteada if len(lsorteadas) >= 1:
if pessoa in(lsorteadas):
# é igual, try again continue
else: lsorteadas.append(pessoa)
# inclui o primeiro sorteado else:
lsorteadas.append(pessoa)
# mostrando os Jose's ganhadores print 'Primeira sorteada: %s\nSegunda sorteada: %s\n' %(lsorteadas[0], lsorteadas[1]) Código: #!/usr/bin/env python # -*- coding: utf-8 -*-
import random
print 'Sorteando duas pessoas:\n'
lpessoas = []
# novamente os os Jose's for i in range(1,11):
nome = 'Jose %d' %i lpessoas.append(nome)
# sorteio random.shuffle(lpessoas)
# imprimindo na sequencia não repete e nem sai igual for i in range(2):
print '%dº ganhador: %s' %(i + 1, lpessoas[i]) E agora o exercicio 2. Código: #!/usr/bin/env python # -*- coding: utf-8 -*-
import random
lnumeros = [] ldezenas = []
# gerar números for i in range(10):
lnumeros.append(i)
# executando 5 vezes while len(ldezenas) < 5:
# embaralhar a cada "rodada" random.shuffle(lnumeros)
# escolhendo aleatórios prinum = random.choice(lnumeros) segnum = random.choice(lnumeros)
# para amazenar como string dezena = '%d%d' %(prinum, segnum)
# não sendo 0 if prinum + segnum == 0:
continue
# não sendo repetido elif dezena in(ldezenas):
continue
else:
# numero valido nas apurações ldezenas.append(dezena)
# organizando em ordem ldezenas.sort()
print 'Números sorteados:'
for i in ldezenas:
# suprimindo a quebra de linha print i, Está muito legal a nossa "pós-aula" é bom vir aqui e ver como todo mundo está fazendo os exercicios, uma fonte muito boa pra todos nós. Abraços
|
| Seg Jan 12, 2009 8:57 pm |
|
 |
|
infog
Site Admin
Data de registro: Sex Nov 21, 2008 11:45 pm Mensagens: 22 Localização: Cubatão - SP - Brasil
|
 Re: Exercício
Estou gostando bastante das soluções =) Eu nem falei do choice() e o pessoal está usando e abusando heheh 
|
| Seg Jan 12, 2009 9:47 pm |
|
 |
|
bizachi
Data de registro: Seg Nov 24, 2008 3:32 pm Mensagens: 6
|
 Re: Exercício
Olá à todos! Segue meu exercício:
#!/usr/bin/env python # -*- coding: utf-8 -*- import os,random
os.system('clear')
print('Exercício 1:') lista_pessoas = ["Humberto","Doisberto","Tresberto","Quatroberto","Cincoberto","Seisberto","Seteberto","Oitoberto","Noveberto","Zeroberto"]
lista_sorteadas = []
for i in range(2): random.shuffle(lista_pessoas) sorteada = random.choice(lista_pessoas) lista_sorteadas.append(sorteada) lista_pessoas.remove(sorteada)
print "Pessoas sorteadas: ",lista_sorteadas
print('\nExercício 2')
lista_unidade = [0,1,2,3,4,5,6,7,8,9] lista_dezena = [0,1,2,3,4,5,6,7,8,9] lista_numeros = [] numero = 0
for i in range(5): while numero == 0 or numero in lista_numeros: random.shuffle(lista_unidade) random.shuffle(lista_dezena) unidade = random.choice(lista_unidade) dezena = random.choice(lista_dezena) numero = int(str(dezena)+str(unidade)) lista_numeros.append(numero) print "Os números sorteados na Mega Quina são: ",lista_numeros
|
| Qua Jan 14, 2009 8:18 pm |
|
 |
|
bizachi
Data de registro: Seg Nov 24, 2008 3:32 pm Mensagens: 6
|
 Re: Exercício
Esqueci de usar a tag Code... foi mal...
|
| Qua Jan 14, 2009 8:21 pm |
|
 |
|
rviana
Data de registro: Dom Nov 23, 2008 8:28 pm Mensagens: 15
|
 Re: Exercício
Minha solução para o exercício nº 9 segue abaixo. Confesso que fiquei queimando a mufa por dois dias tentando descobrir uma forma de o código tratar dezenas repetidas, mas não consegui. Então, se aparecerem dezenas repetidas no sorteio da Mega Sena reclamem com a Caixa Econômica Federal. Segue o código: Código: #!/usr/bin/env python # -*- coding: utf-8 -*-
print("\nCurso de Python do InFog - Exercício da aula nº 9") print("Aluno: Rodrigo Viana de Oliveira") import random print("\n***** Primeira parte do exercício: sorteio dos nomes *****") nomes=["Adriana", "Bianca", "Carolina", "Débora", "Érica", "Fernanda", "Gabriela", "Helena", "Isabela", "Juliana"] tamanho = 10 posicao = 1 # necessário para imprimir corretamente a ordem das sorteadas: 1ª sorteada, 2ª sorteada, etc. while tamanho > 0: # este laço será executado enquanto houver pessoas não sorteadas na lista for num in range(50): # embaralha bem embaralhado random.shuffle(nomes) # embaralha a lista sorteada = nomes[0] # sorteia sempre o primeiro item da lista print("A %iª sorteada foi %s.") % (posicao,sorteada) nomes.remove(sorteada) # remove a pessoa sorteada da lista tamanho = len(nomes) # a variável tamanho fica menor posicao = posicao + 1
print("\n***** Segunda parte do exercício: Mega Sena *****") lista1 = range(10) lista2 = range(10) quantidade = 1 while quantidade <= 5: # loop para retornar 5 dezenas sorteadas for num in range(50): # embaralha bem embaralhado :) random.shuffle(lista1) # embaralha a lista1 random.shuffle(lista2) # embaralha a lista2 if lista1[0] == 0 and lista2[0] == 0: # testa se os primeiros itens da lista1 e lista2 são iguais a zero while lista1[0] == 0 and lista2[0] == 0: # se forem, embaralha as listas até que os primeiros itens sejam diferentes de zero for num in range(50): # embaralha bem embaralhado, de novo :) random.shuffle(lista1) random.shuffle(lista2) print("A %iª dezena sorteada foi %i%i.") % (quantidade,lista1[0],lista2[0]) # imprime a dezena sorteada else: print("A %iª dezena sorteada foi %i%i.") % (quantidade,lista1[0],lista2[0]) # imprime a dezena sorteada quantidade = quantidade + 1
print("\n") []s.
|
| Sex Jan 16, 2009 9:40 am |
|
 |
|
eduardo
Data de registro: Dom Nov 23, 2008 10:35 pm Mensagens: 8
|
 Re: Exercício
O primeiro exercício foi bem fácil, já o segundo me deu trabalho Código: #!/usr/bin/env python # -*- coding: utf-8 -*- import random
# Exercício 1 nomes = ['Eduardo', 'Sofia', 'Plínio', 'Maria', 'Juliano', 'Helena', 'Tiago', 'Cristina', 'Luís', 'Raquel']
print('Pessoas sorteadas:') for i in range(2): random.shuffle(nomes) print(nomes.pop()) print('')
# Exercício 2 lista_a = range(10) lista_b = range(10) sorteados = []
while len(sorteados) < 5: random.shuffle(lista_a) random.shuffle(lista_b) numero = str(random.choice(lista_a)) + str(random.choice(lista_b)) if numero != '00' and numero not in sorteados: sorteados.append(numero) sorteados.sort() print('Números sorteados: ') for i in range(5): print(sorteados[i]) print('')
|
| Sex Jan 16, 2009 12:32 pm |
|
 |
|
bruno.santos
Data de registro: Dom Dez 21, 2008 10:40 am Mensagens: 8 ---------
|
 Re: Exercício
Estas foram as minhas soluções para os exercícios propostos . Código: #!/usr/bin/env python # -*- coding: utf-8 -*- # Sorteio de dezenas da Mega-Sena # Importando o módulo random import random lista1 = ["0", "1", "2", "3", "4", "5"] lista2 = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] dezena = "1" unidade = "1" print("Sorteio das dezenas da Mega-Sena") print for n in range (6): while 1: random.shuffle(lista1) random.shuffle(lista2) dezena = lista1.pop() unidade = lista2.pop() if (dezena + unidade) == "00": random.shuffle(lista1) random.shuffle(lista2) dezena = lista1.pop() unidade = lista2.pop() print(dezena + unidade), break; n = n + 1
Código: #!/usr/bin/env python # -*- coding: utf-8 -*- # ExercÃcio de Python por: # Bruno Santos #--------------------------------------- # Sorteio de pessoas import random # Criando a lista de pessoas lista = ["Junior", "Angelo", "Marina", "Felipe", "Débora", "Vânia", "Aldo", "Olavo", "Fabiana", "Aline"] # Embaralhando a lista print("-- Sorteando e tirando pessoas --") print print random.shuffle(lista) i = 0 for i in range(10): print(lista[i]), ultimo = lista.pop() print("\n") print('Sorteado: '), print(ultimo) for i in range(9): print(lista[i]),
|
| Dom Jan 18, 2009 12:43 pm |
|
|
Quem está online |
Usuários vendo este fórum: Nenhum usuário registrado online e 0 visitantes |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|
 |