Hoje é Ter Mai 22, 2012 10:27 am





Criar novo tópico Responder Tópico  [ 17 Mensagens ]  Ir para a página Anterior  1, 2
Exercício 
Autor Mensagem

Data de registro: Qui Dez 25, 2008 4:49 pm
Mensagens: 1
Mensagem Re: Exercício
Primeira vez respondendo ... minhas soluções ...
O segundo exercício bem direto.... ja o primeiro, com uma função desnecessária, mas apenas para aprendizado ... :D

Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Desenvolvido por Rosberg
# Arquivo exercício Aula 9 Python - rosbergmb@gmail.com

########### Exercício (1

#Importando módulo random
import random

#Criando lista com o nome de dez pessoas
lista = ["Barney","Homer","Goku","Raito","Jerry","Pernalonga","Bob Esponja","Nemo","Benji","Dornizildo"]

#definindo uma função para embaralhar a lista
def sorte():
   random.shuffle(lista)

sorte()   #Chamando a função sorte()
sorteado1 = lista[0] # O sorteado sempre será o primeiro da lista

while lista[0] == sorteado1: # Laço, embaralha enquanto iguais
    sorte()

sorteado2 = lista[0]
print("O primeiro sorteado é: %s\nO segundo sorteado é: %s" %(sorteado1, sorteado2))


#PS: Não há a necessidade de se usar esta função sorte(), poderiamos colocar direto a função random.shuffle(), apenas fiz por aprendizado msm ! =D

############ Exercício (2

lista1 = ["0","1","2","3","4","5","6","7","8","9"]
lista2 = ["0","1","2","3","4","5","6","7","8","9"]

print("As 5 dezenas sorteadas são:")

for dezenas in range(1,6): # Laço de repetição para criar as cinco dezenas
  random.shuffle(lista1)
  random.shuffle(lista2)
  while ((lista1[0]+lista2[0]) == ("00")): # caso ocorra a dezena "00" o sorteio será refeito
    random.shuffle(lista1)
    random.shuffle(lista2)
  print(lista1[0]+lista2[0])
 


Dom Jan 18, 2009 10:28 pm
Perfil E-mail

Data de registro: Ter Dez 09, 2008 2:09 pm
Mensagens: 11
Mensagem Re: Exercício
Aí vão os meus resultados, desculpem por eu não estar colocando comentários no código :mrgreen:

Aula09_1-InFog.py
Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Python 2.6

'''
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

pessoas = ['João', 'Joana', 'Manoel', 'Manoela', 'Angela', 'Angelo',
           'Gabriel', 'Gabriela', 'Gilmar', 'Gilmara']

lista_sorteada = []

while len(pessoas)> 0:

    random.shuffle(pessoas)
    sorteado = pessoas.pop()
    print(sorteado)

    lista_sorteada.append(sorteado)

Obs. a lista lista_sorteada era só um teste que eu estava fazendo, caso quisesse retornar os valores depois...


-----------------------------------


Aula09_2-InFog.py
Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Python 2.6

'''
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.
'''

import random

dezena = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
unidade = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
lista_sorteada = []
cont = 0
while cont <= 4:
    random.shuffle(dezena)
    random.shuffle(unidade)
    r1 = dezena[0] + unidade[0]
    if r1 in lista_sorteada:
        continue
    elif r1 == '00':
        continue
    else:
        lista_sorteada.append(r1)
        cont += 1
        # print ('e sai a bola de número', r1)
        print 'e sai a bola de número', r1

Obs. É, ainda ñ acostumei a usar parenteses no print...

Se eu usar:
print ('e sai a bola de número ', r1)
Sai:
('e sai a bola de n\xc3\xbamero ', '97')
('e sai a bola de n\xc3\xbamero ', '22')
('e sai a bola de n\xc3\xbamero ', '86')
('e sai a bola de n\xc3\xbamero ', '13')
('e sai a bola de n\xc3\xbamero ', '31')



e se eu usar o jeito "normal":
print 'e sai a bola de número', r1
Sai da maneira certa:
e sai a bola de número 66
e sai a bola de número 42
e sai a bola de número 84
e sai a bola de número 60
e sai a bola de número 69


Pronto, agora eu achei, é só colocar um + ao invés da virgula:
ex:
print ('e sai a bola de número '+ r1)

E agora vou olhar as respostas de vocês :ugeek:


Sex Jan 23, 2009 6:33 pm
Perfil E-mail

Data de registro: Ter Mai 26, 2009 4:20 am
Mensagens: 2
Mensagem Re: Exercício
Apenas deixando registrado um código solução para o problema da mega sena que ninguem tinha abordado antes, bom como referência, complementando principalmente aquela história da versatilidade do python.

Código:
[random.randint(1,60) for x in range(5)]


só isso =D


Ter Mai 26, 2009 4:23 am
Perfil E-mail

Data de registro: Qua Ago 05, 2009 4:56 pm
Mensagens: 8
Mensagem Re: Exercício
Esse foi o exercício mais difícil que eu vi até agora, eu demorei uns 10 dias para resolver, e detalhe, só consegui acabar com os erros hoje, no último dia, e mesmo assim acredito que possa sair números repetidos. Contudo foi um aprendizado.

Eu olhei as respostas dos outros companheiros, porém, tem "comandos" que eu não aprendi ainda.

Aí está a "obra de arte" :D :

Código:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Exercicio da aula 9 do curso online de python da Infog

print '''
Exercicio da aula 9 do curso online de python da Infog


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.

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.

''',"-"*70,"\n\nRESPOSTAS:"

# CRIANDO UMA LISTA
LISTA=["ANA","PEDRO","JOÃO","MARIA","MATEUS","MARCOS","GABRIEL","DAVI",
"PAULO","JOSIAS"]

# EMBARALHANDO A LISTA
import random
random.shuffle(LISTA)

# MOSTRANDO A LISTA
print '''A lista foi criada e embaralhada como foi pedido, eis a lista:

''', LISTA,"\n","-"*70,"\n\n\n"


## SORTEIOS
# SORTEIO DO EXERCÍCIO 1
LISTA01=LISTA

n=1
print "Resultado do Exercício 1\n"
while n<=2:
SORTEADO = LISTA01.pop()
print ("O %iº sorteado foi: " % n), SORTEADO,"\n"
n=n+1
print "\n","-"*70,"\n"


# SORTEIO DO EXERCÍCIO 2



# OBTENÇÃO DOS RESULTADOS e APRESENTAÇÃO DOS RESULTADOS
n=1
print "Resultados do Exercício 2\n"
########
MEGA=["1","2","3","4","5","6","7","8","9"]
SENA=["1","2","3","4","5","6","7","8","9"]
RESULTADOS=[]
N=1

while len(RESULTADOS) < 5 and N<6:
random.shuffle(MEGA)
random.shuffle(SENA)
N=N+1
S1=MEGA.pop()
if S1==0:
  random.shuffle(MEGA)
  if S1==0:
   SENA.remove("0")
   S1=MEGA.pop()
   S2=SENA.pop()
   S3=S1+S2
   RESULTADOS.append(S3)
   print ("Sorteio %s. Resultado: %s" % ((N-1), RESULTADOS))
   
 
else:
  S2=SENA.pop()
  S3=S1+S2
  RESULTADOS.append(S3)
  if (N-1) == 1:
   print ("\nSorteio %s. Resultado Inicial: %s" % ((N-1), RESULTADOS))
   SENA.append("0")
  elif (N-1)>=1 and (N-1)<=4:
   print ("\nSorteio %s. Resultado Parcial: %s" % ((N-1), RESULTADOS))
   SENA.append("0")         
  elif (N-1)==5:
   print ("\nSorteio %s. Resultado Final:   %s" % ((N-1), RESULTADOS))
   SENA.append("0")


Dom Ago 23, 2009 2:51 pm
Perfil E-mail

Data de registro: Ter Ago 25, 2009 1:02 pm
Mensagens: 3
Mensagem Re: Exercício
Código:
exercício 1:

import random

pessoas = ['Daniel', 'Juliana', 'Nilva', 'Nininha', 'Flavio', 'Marta', 'Rogerio', 'Biluka', 'Catita', 'Nene']

for i in range (2):
     random.shuffle (pessoas)
     print '%dª pessoa sorteada: %s' % (i+1, pessoas[0])
     pessoas.pop (0)


Código:
exercício 2:

import random

lista1 = ['0', '1', '2', '3', '4', '5', '6']
lista2 = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
lista3 = [ ]

# loop para efetuar os seis sorteios
for i in range (6):
     teste = True
     while teste:
          random.shuffle (lista1)
          random.shuffle (lista2)
          # atribui à variável sorteio o 1º número da lista 1 e o 1º númeoro da lista 2
          sorteio = lista1[0] + lista2[0]
          # se for o primeiro lançamento, irá adicionar o 1º número do sorteio
          if i == 0 and sorteio > '0' and sorteio < '61':
               lista3.append (sorteio)
               teste = False
          # a partir do 2º lançamento, é verificado se a variável sorteio já existe na lista.
          # se existir, será feito um novo sorteio, caso contrário, será adicionado.
          elif sorteio > '0' and sorteio < '61':
               for j in lista3:
                    achou = False
                    if sorteio != j:
                         achou = True
               if achou == True:
                    lista3.append (sorteio)
                    teste = False

# coloca a lista em ordem alfabética
lista3.sort ()
                   
print '\n\nSORTEIO DA MEGA SENA\n'
for i in lista3:
     print i,


Ter Ago 25, 2009 1:16 pm
Perfil E-mail

Data de registro: Ter Nov 23, 2010 3:37 pm
Mensagens: 1
Mensagem Re: Exercício
Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Exericicio 1:

import random

lista = ["Victor", "Gabriela", "Thomas", "Guilherme", "Karlos", "Murilo", "Felipe", "Diego", "Thais", "Nicole"]
for i in range(2):
        random.shuffle(lista)
        ultimo = lista.pop()
        print(ultimo)

# Exercicio 2:

n1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
n2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

for i in range(5):
        random.shuffle(n1)
        random.shuffle(n2)
        a = n1[0]
        b = n2[0]
        if (n1[0] == 0) and (n2[0] == 0):
                random.shuffle(n1)
                random.shuffle(n2)
        else:
                print("%d%d" %(a, b))


Bem simples, se tiver alguma coisa errado me avisa :D


Ter Nov 23, 2010 3:42 pm
Perfil E-mail

Data de registro: Qua Mar 09, 2011 12:43 pm
Mensagens: 2
---------
Mensagem Re: Exercício
EXERCICIO - 1:

n=1
while n<2:
random.shuffle(lista)
win[0]=lista[0]
print("Vencedor 1:",win[0].upper())
random.shuffle(lista)
win[1]=lista[0]
if win[0] == win[1]:
print("Opa ganhar 2x n pode! Sr(a):",win[1].title()) ## ADCIONADO FRASE CASO GANHADOR SEJA SORTEADO 2X)
random.shuffle(lista)
win[1]=lista[0]
print("Vencedor 2:",win[1].upper())
n=n+1



EXERCICIO - 2:
n=0
while n<5:
random.shuffle(seq1)
win[0]=seq1[0]
random.shuffle(seq2)
win[1]=seq2[0]
if (win[0] == "0") and (win[1] == "0"):
print("****zero***") ##ADICIONADO FRASE CASO O ZERO APAREÇA
random.shuffle(seq1)
win[1]=seq1[0]
print(win)
n=n+1

Faz um tempo que o pessoal não posta mas como começei os estudos com python agora estou enviando as soluções que desenvolvi para os problemas, sei que a area não é a melhor mais gostaria de parabenizar a iniciativa e dizer que adimiro pessoas com a mesma pro-atividade que a de quem criou estes canais de aprendizado, obrigado.


Qua Mar 09, 2011 12:55 pm
Perfil E-mail
Mostrar mensagens anteriores:  Organizar por  
Criar novo tópico Responder Tópico  [ 17 Mensagens ]  Ir para a página Anterior  1, 2


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

Procurar por:
Ir para:  
cron

Criar Um Forum · phpBB© · Internationalization Project · Reportar abuso · Termos De Uso/Política De Privacidade
© Forums-Free.com 2009