OmegaMK-XII - Challenger2 - FULL - Python

Ir em baixo

OmegaMK-XII - Challenger2 - FULL - Python

Mensagem  OmegaMK-XII em Qui Jul 14, 2011 8:34 pm

Alguns fontes poderiam ficar menores, mas deixei pra mostrar melhor o algoritmo. Se bem que mal sei Python mesmo...
Challenge 2 - Light
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
2
3
4
5
6
7
8
9
10
11
# -*- coding: utf-8 -*-

#Lista contendo os dias da semana que serão relacionados com os números de suas posições
semana = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado']
dia = input('Digite um número de 1 a 7 referente ao dia da semana: ')

#Caso o valor de dia estiver fora do intervalo, vai causar um erro de exceção já que a lista tem apenas 7 elementos
try:
print 'Dia ', dia, ' é ', semana[dia - 1]
except:
print 'número inválido'


http://paste.debian.net/122933/

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
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# -*- coding: utf-8 -*-
#import para a função datetime
import datetime
print 'Digite uma data com o seguinte formato dd/mm/aaaa.'

#Recebendo os valores da data
while True:
dia = input('Dia = ')
mes = input('Mês = ')
ano = input('Ano = ')

#Caso a data tenha valores inválidos (como mês 13 ou dia 32)
try:
data = datetime.datetime(ano, mes, dia)
print data.day, '/', data.month, '/', data.year
break
except:
print 'Data inválida, digite novamente uma data:'

#De início bissexto recebe False e mais a frente recebe True caso o ano seja realmente bissexto
bissexto = False

#Calculando se o ano é bissexto
if ano%4 == 0:
if ano%100 == 0:
if ano%400 == 0:
bissexto = True
else:
bissexto = True

#Resultados
if bissexto:
print 'Data Válida - É bissexto'
else:
print 'Data Inválida - Não é bissexto'


http://paste.debian.net/122934/

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
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-
while True:
#Recebendo o valor de nota, a exceção é pra caso seja digitado algo diferente de um número
try:
nota = input('Digite uma nota de 0 a 10: ')
except:
print 'Caractere inválido.'
continue
#Vendo se a nota está entre 0 e 10
if (nota < 0) or (nota > 10):
print 'Valor inválido.'
else:
print 'Valor correto.'
break


http://paste.debian.net/122935/

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -*- coding: utf-8 -*-
while True:
#Recebendo login e senha
login = raw_input('Digite seu login: ')
senha = raw_input('Digite sua senha: ')
#Eliminando os espaços antes e depois das strings
login = login.lstrip()
login = login.rstrip()
senha = senha.lstrip()
senha = senha.rstrip()
#Verificando se login == senha
if login == senha:
print 'Sua senha não pode ser igual ao login. Digite novamente.'
else:
break


http://paste.debian.net/122936/

5 - Faça um programa que calcule a quantidade dinheiro gasto por um fumante com os seguintes dados:
O número de anos que ele fuma :
O número de cigarros fumados por dia :
O preço da carteira de cigarro:

 1
2
3
4
5
6
7
8
9
10
11
12
# -*- coding: utf-8 -*-
#Recebendo ano, qtade e preço
anos = input('Número de anos que fuma: ')
quantidade = input('Número de cigarros fumados por dia: ')
preco = input('Preço da carteira de cigarro (20 unidades): ')

#Fiz como padrão uma carteira de cigarro com 20 unidades, caso queira mudar basta mudar o valor 20 logo abaixo
#Cálculo do gasto
gasto = (preco/20.0)*quantidade*(365*anos)

#Resultado
print 'O dinheiro gasto em ', anos, ' anos foi de R$', gasto


http://paste.debian.net/122937/

6 - Escreva um algoritmo para encontrar o número do telefone correspondente a um determinado nome, na seguinte lista telefônica:
Nome : Fulano - Tel : 334-45566
Nome : Cicrano - Tel : 112-23344
Nome : Beltrano - Tel : 551-12233
Nome : Zé - Tel : 443-34422
Nome : Toinho - Tel : 661-12233
Nome : Luizinho - Tel : 776-65577

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-
#Duas listas com nomes e números, eles estão relacionados através de suas posições
lista_nomes = ['Fulano', 'Cicrano', 'Beltrano', 'Zé', 'Toinho', 'Luizinho']
lista_numeros = ['334-45566', '112-23344', '551-12233', '443-34422', '661-12233', '776-65577']

#Procurando o nome na lista
nome = raw_input('Digite um nome a ser procurado na lista: ')
if nome in lista_nomes:
#index retorna a posição da lista em que o nome está caso seja encontrado
posicao = lista_nomes.index(nome)
#a posição é usada para encontrar o número relacionado ao nome
print 'Nome: ', nome, ' - Tel: ', lista_numeros[posicao]
else:
print 'Nome não encontrado na lista.'


http://paste.debian.net/122938/

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# -*- coding: utf-8 -*-
#Iniciando os vetores
vetor1 = [0]*10
vetor2 = [0]*10
vetor3 = []*20

#Preenchendo os vetores 1 e 2
print 'Digite 10 elementos no primeiro vetor: '
for i in range(0, 10):
vetor1[i] = raw_input('Digite o '+str(i+1)+'o. elemento da vetor1: ')

print 'Digite 10 elementos no segundo vetor: '
for i in range(0, 10):
vetor2[i] = raw_input('Digite o '+str(i+1)+'o. elemento da vetor2: ')

#extend faz o vetor 1 (e logo após o 2) ser adicionado ao final de vetor 3
vetor3.extend(vetor1)
vetor3.extend(vetor2)

#Imprimindo vetor 3
print 'Vetor 3:'
print vetor3


http://paste.debian.net/122939/

8 - Utilizando vetores faça um programa que faça 5 perguntas para uma pessoa sobre um crime.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# -*- coding: utf-8 -*-
#Vetor de respostas
resposta = [0]*5
print 'Você é suspeito de um crime. Responda as questões a seguir:'

#Recebendo a resposta da pergunta, caso a resposta seja inválida a pergunta é refeita
#Caso idêntico aos demais
while True:
print 'Telefonou para a vítima?'
print 'Digite 1 para SIM ou 2 para NÃO.'
resposta[0] = input('Resposta: ')
if(resposta[0] == 1) or (resposta[0] == 2):
break
else:
print 'Resposta inválida.'

while True:
print 'Esteve no local do crime?'
print 'Digite 1 para SIM ou 2 para NÃO.'
resposta[1] = input('Resposta: ')
if(resposta[1] == 1) or (resposta[1] == 2):
break
else:
print 'Resposta inválida.'

while True:
print 'Mora perto da vítima?'
print 'Digite 1 para SIM ou 2 para NÃO.'
resposta[2] = input('Resposta: ')
if(resposta[2] == 1) or (resposta[2] == 2):
break
else:
print 'Resposta inválida.'

while True:
print 'Devia para a vítima?'
print 'Digite 1 para SIM ou 2 para NÃO.'
resposta[3] = input('Resposta: ')
if(resposta[3] == 1) or (resposta[3] == 2):
break
else:
print 'Resposta inválida.'

while True:
print 'Já trabalhou com a vítima?'
print 'Digite 1 para SIM ou 2 para NÃO.'
resposta[4] = input('Resposta: ')
if(resposta[4] == 1) or (resposta[4] == 2):
break
else:
print 'Resposta inválida.'

#Vendo o números de respostas positivas e respondendo a questão
#count(n) mostra quantas vezes o elemento n aparece na lista
if resposta.count(1) > 1:
if resposta.count(1) == 2:
print 'Você é suspeito.'
else:
if resposta.count(1) == 3 or resposta.count(1) == 4:
print 'Você é cúmplice.'
else:
print 'Você é o assassino.'


http://paste.debian.net/122941/

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding: utf-8 -*-
#Recebendo as frases
string1 = raw_input('Digite uma frase qualquer: ')
string2 = raw_input('Digite uma outra frase qualquer: ')

#Vendo o tamanho das strings e calculando se são iguais
print 'Tamanho da String 1: "',string1,'" :', len(string1),' caracteres'
print 'Tamanho da String 2: "',string2,'" :', len(string2),' caracteres'

if len(string1) != len(string2):
print 'As duas strings são de tamanhos diferentes.'
else:
print 'As duas strings são de tamanhos iguais.'

#Vendo se as strings são iguais
if string1 != string2:
print 'As duas strings possuem conteúdos diferentes.'
else:
print 'As duas strings possuem conteúdos iguais.'


http://paste.debian.net/122942/


Última edição por OmegaMK-XII em Sab Jul 16, 2011 9:07 am, editado 2 vez(es)
avatar
OmegaMK-XII

Mensagens : 29
Data de inscrição : 04/07/2011

Ver perfil do usuário

Voltar ao Topo Ir em baixo

uma curiosidade

Mensagem  Z3r0 em Sex Jul 15, 2011 7:11 am

OmegaMK-XII escreveu:

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -*- coding: utf-8 -*-
while True:
#Recebendo login e senha
login = raw_input('Digite seu login: ')
senha = raw_input('Digite sua senha: ')
#Eliminando os espaços antes e depois das strings
login = login.lstrip()
login = login.rstrip()
senha = senha.lstrip()
senha = senha.rstrip()
#Verificando se login == senha
if login == senha:
print 'Sua senha não pode ser igual ao login. Digite novamente.'
else:
break


http://paste.debian.net/122936/

Ae Omega blz cara? então.... uma curiosidade... porque você usou este recurso:
1
2
3
4
5
   #Eliminando os espaços antes e depois das strings
login = login.lstrip()
login = login.rstrip()
senha = senha.lstrip()
senha = senha.rstrip()


Pergunto pq... em que ele implica se houver ou não espaços? pois, a primeira coisa que me veio a cabeça é...será que haver espaços gera algum tipo de erro? e por isso ele usou .lstrip para burlar este erro? ou é meramente capricho?
avatar
Z3r0

Mensagens : 149
Data de inscrição : 01/07/2011
Idade : 32

Ver perfil do usuário http://projectzim.blogspot.com

Voltar ao Topo Ir em baixo

Re: OmegaMK-XII - Challenger2 - FULL - Python

Mensagem  OmegaMK-XII em Sex Jul 15, 2011 10:26 am

Mais ou menos por capricho. Exemplo (entenda _ como um espaço)

omega
e
_omega
e
omega_

São considerados diferentes. E ficam estranhos espaços em começo ou fim de logins/senhas, então resolvi retirá-los automaticamente. Espaços no meio da string ainda continuam.
avatar
OmegaMK-XII

Mensagens : 29
Data de inscrição : 04/07/2011

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: OmegaMK-XII - Challenger2 - FULL - Python

Mensagem  OmegaMK-XII em Sex Jul 15, 2011 1:58 pm

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. Detalhe: Você só pode usar um loop e os elementos exatamente são: [1,2,3,4,1,5].

 1
2
3
4
5
6
7
8
9
10
11
# -*- coding: utf-8 -*-
#Usei o vetor do exemplo
vetor = [1,2,3,4,1,5]

#Para cada elemento do vetor uso a função count que mostra quantas vezes o elemento está no vetor
for i in range(0, len(vetor)):
if vetor.count(vetor[i]) > 1:
print 'Elemento repetido = ', vetor[i]
break

#Entendi que na questão o vetor tem apenas um elemento repetido...


http://paste.debian.net/123008/

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.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# -*- coding: utf-8 -*-
import random
jogo = ['Pedra', 'Papel', 'Tesoura']

#nomes dos jogadores
jogador1 = raw_input('Digite o nome do jogador 1: ')
jogador2 = raw_input('Digite o nome do jogador 2: ')

#randint vai gerar números aleatórios correspondentes a pedra(0), papel(1) e tesoura(2)
while True:
a = random.randint(0, 2)
print jogador1, ' sorteou ', jogo[a]
b = random.randint(0, 2)
print jogador2, ' sorteou ', jogo
#jog 1 pedra
if a == 0:
#jog 2 papel
if b == 1:
print jogador2, ' venceu.'
break
else:
#jog 2 tesoura
if b == 2:
print jogador1, ' venceu.'
break
#jog 2 pedra
else:
print 'Houve empate.'
continue
else:
#jog 1 papel
if a == 1:
#jog 2 pedra
if b == 0:
print jogador1, ' venceu.'
break
else:
#jog 2 tesoura
if b == 2:
print jogador2, ' venceu.'
break
#jog 2 papel
else:
print 'Houve empate.'
continue
#jog 1 tesoura
else:
#jog 2 pedra
if b == 0:
print jogador2, ' venceu.'
break
else:
#jog 2 papel
if b == 1:
print jogador1, ' venceu.'
break
#jog 2 tesoura
else:
print 'Houve empate.'
continue


http://paste.debian.net/123009/

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# -*- coding: utf-8 -*-
#para números aleatórios
import random
#iniciando vetor
vetor = [0]*10

#preenchendo vetor com números aleatórios entre 0 e 99
for i in range(0, 10):
vetor[i] = random.randint(0, 99)

#recebendo número para busca, o except para caso digite algo não-número
while True:
try:
numero = input('Digite um número: ')
break
except:
print 'Número inválido.'

#Vendo se o número está no vetor
#index mostra a posição
while True:
if numero in vetor:
print 'Número encontrado na posição ', vetor.index(numero)+1, ' do vetor.'
break
else:
print 'Este número não existe no vetor.'
while True:
try:
numero = input('Digite um número: ')
break
except:
print 'Número inválido.'

print 'Vetor gerado: ', vetor


http://paste.debian.net/123010/

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# -*- coding: utf-8 -*-
#recebendo as notas
while True:
while True:
try:
nota1 = input('Digite a primeira nota: ')
nota2 = input('Digite a segunda nota: ')
if(nota1<0)or(nota1>10)or(nota2<0)or(nota2>10):
print 'Nota inválida.'
continue
break
except:
print 'Valor inválido.'
#variavel que mostra se a nota 3 é necessária
notaextra = False
#verifica se precisa da nota 3
if(nota1 <= 4) or (nota2 <= 4):
while True:
try:
nota3 = input('É necessário uma terceira nota. Digite: ')
if(nota3<0)or(nota3>10):
print 'Nota inválida.'
continue
notaextra = True
break
except:
print 'Valor inválido.'
#se nota 3 foi recebida
if(notaextra):
if(nota3 <=4):
print 'Reprovado por nota.'
else:
if(((nota1+nota2+nota3)/3.0) >= 6):
print 'Parabéns você foi aprovado.'
break
else:
print 'Reprovado por nota.'
#se nota 3 não foi considerada
else:
if(((nota1+nota2)/2.0) >= 6.0):
print 'Parabéns você foi aprovado.'
break
else:
print 'Reprovado por nota.'


http://paste.debian.net/123011/

5 - Faça um programa que imprima uma lista de modelos de carro e te peça para escolher um dos modelos mostrados.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# -*- coding: utf-8 -*-
#vetor com os carros e suas características
carros = [['Gol',19,2000,1300,1500,1.0],['Fusca',25,1200,500,400,0.5],['Fiat Uno',20,1800,1500,1100,1.1],['Audi A4',19,2500,2000,1800,2.0],['Ferrari',23,5000,4800,4500,3.0]]

#listando os modelos para escolha
print 'Modelos de carros sugeridos:'
print '1. Gol'
print '2. Fusca'
print '3. Fiat Uno'
print '4. Audi A4'
print '5. Ferrari'

#recebendo o modelo, exceção para valores inválidos
while True:
try:
modelo = input('Escolha um modelo digitando o número correspondente: ')
if(modelo<1) or (modelo>5):
print 'Número inválido.'
continue
break
except:
print 'Número inválido'

#imprimindo o modelo escolhido e suas características
print 'Modelo: ', carros[modelo-1][0]
print 'Km por litro: ' , carros[modelo-1][1]
print 'Valor de mercado do modelo zero KM: ', carros[modelo-1][2]
print 'Valor de mercado do modelo usado: ', carros[modelo-1][3]
print 'Valor do seguro: ', carros[modelo-1][4]
print 'Potencia: ', carros[modelo-1][5]


http://paste.debian.net/123012/

6 - Modifique o programa do desafio 5 de modo que você possa agora adicionar modelos de carros bem como os detalhes.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# -*- coding: utf-8 -*-
#vetor com os carros e suas características
carros = [['Gol',19,2000,1300,1500,1.0],['Fusca',25,1200,500,400,0.5],['Fiat Uno',20,1800,1500,1100,1.1],['Audi A4',19,2500,2000,1800,2.0],['Ferrari',23,5000,4800,4500,3.0],[],[],[],[],[]]

#adicionado para uso na listagem, cont para contar os carros extras
adicionado = False
cont = 5
while True:
#lista opções
print '1. Listar Modelos.'
print '2. Adicionar novos Modelos. Pode adicionar no máximo mais',10-cont,' modelos.'
print '3. Sair.'

#recebendo a tarefa, exceção para valores inválidos
while True:
try:
resp = input('Escolha digitando o número correspondente: ')
if(resp<1) or (resp>3):
print 'Número inválido.'
continue
break
except:
print 'Número inválido'

#lista modelos
if resp == 1:
#listando os modelos para escolha
print 'Modelos de carros sugeridos:'
print '1 . Gol'
print '2 . Fusca'
print '3 . Fiat Uno'
print '4 . Audi A4'
print '5 . Ferrari'
#se adicionado for true temos carros extras para listar
if adicionado:
print cont,'.',carros[cont-1][0]

#recebendo o modelo, exceção para valores inválidos
while True:
try:
modelo = input('Escolha um modelo digitando o número correspondente: ')
if(modelo<1) or (modelo>cont):
print 'Número inválido.'
continue
break
except:
print 'Número inválido'

#imprimindo o modelo escolhido e suas características
print 'Modelo: ', carros[modelo-1][0]
print 'Km por litro: ' , carros[modelo-1][1]
print 'Valor de mercado do modelo zero KM: ', carros[modelo-1][2]
print 'Valor de mercado do modelo usado: ', carros[modelo-1][3]
print 'Valor do seguro: ', carros[modelo-1][4]
print 'Potencia: ', carros[modelo-1][5]

else:
#adicionando novos carros
if resp == 2:
if cont < 10:
modelo_novo = raw_input('Adicione um modelo a lista: ')
km = input('KM por litro: ')
valor = input('Valor de mercado zero KM : ')
valor_usado = input('Valor de mercado usado: ')
seguro = input('Valor do seguro : ')
potencia = input('Potencia: ')
carros[cont] = [modelo_novo,km,valor,valor_usado,seguro,potencia]
cont = cont + 1
adicionado = True
#cont vai até 10, limite de carros na lista
else:
print 'Número de adições esgotou.'
#opção 3 sair
else:
break



http://paste.debian.net/123013/

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# -*- coding: utf-8 -*-

#soma vai acumulando a soma das idades
#i para o loop (while)
soma = 0
i = 1
while(i <= 10):
#exceção para caso digite um não-número
#a medida que vai recebendo as idades, vai somando
try:
idade = input('Qual sua idade? ')
i = i + 1
soma = soma + idade
except:
print 'Dado inválido.'
continue

#tira a média e verifica a faixa de idade
media = soma/10.0
print 'Media de idade: ', media

if (media > 0):
if (media < 26):
print 'é um grupo jovem.'
else:
if(media < 61):
print 'é um grupo adulto.'
else:
print 'é um grupo idoso.'
else:
print 'Média de idade negativa ou nula.'


http://paste.debian.net/123014/

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
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-
#recebendo a tabuada, seu inicio e fim. exceção para valores inválidos
while True:
try:
numero = input('Montar tabuada de: ')
inicio = input('Começar por: ')
fim = input('Terminar em: ')
break
except:
print 'Digite um número válido.'
#mostrando a tabuada
print 'Vou montar a tabuada de ',numero,', começando em ',inicio,' e terminando em ',fim
for i in range(inicio, fim+1):
print numero, ' x ', i, ' = ', numero*i


http://paste.debian.net/123016/

9 - Faça uma função que retorne o reverso de um número inteiro informado.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-

#recebendo o número, a exceção para caso digite algo não-número
while True:
try:
numero = input('Digite um número: ')
break
except:
print 'Número inválido.'

#convertendo o número para string
numero = str(numero)
#invertendo string - numero[::-1]
print 'Valor invertido = ',numero[::-1]


http://paste.debian.net/123017/

[b]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
2
3
4
5
6
7
string = 'string = %r\nlista = [2, 3, 5, 7]\nfor i in range(0, 4):\n   lista[i] = lista[i]**2\nprint string %% string\nprint lista'
lista = [2, 3, 5, 7]
for i in range(0, 4):
lista[i] = lista[i]**2
print string % string
print lista
[4, 9, 25, 49]


Fonte com comentários:
http://paste.debian.net/123443/

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: utf-8 -*-
#Iniciando vetor de números, a soma e o número de primos
numeros = [1]*2000000
soma = num_de_primos = 0

#Preechendo o vetor com números de 1 a 2000000
for i in range(0, 2000000):
numeros[i] = i + 1

#O algoritmo seguinte é chamado de crivo de Eratóstenes
#O que ele basicamente faz é zerar todas as posições do vetor
#em que os números não são primos.
numeros[0] = 0
for i in range(1, 2000000):
if numeros[i] != 0:
j = i + numeros[i];
if j*2 < len(numeros):
while j < len(numeros):
numeros[j] = 0
j = j + numeros[i]
else:
break
#Agora que só restou os primos no vetor, basta ir somando
#os números nas posições que não estão zeradas.
for i in range(0, 2000000):
if numeros[i] != 0:
soma = soma + numeros[i]
num_de_primos = num_de_primos + 1

#Mostrando os resultados (demora alguns segundos)
print 'A soma dos números primos de 1 até 2000000 é: ',soma
print 'Foram encontrados ',num_de_primos,' números primos.'


http://paste.debian.net/123078/


Última edição por OmegaMK-XII em Qua Jul 20, 2011 12:58 am, editado 1 vez(es)
avatar
OmegaMK-XII

Mensagens : 29
Data de inscrição : 04/07/2011

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: OmegaMK-XII - Challenger2 - FULL - Python

Mensagem  Z3r0 em Sab Jul 16, 2011 3:39 pm

Rpz........ sangue nos olhos hein? quase terminando já o.o
avatar
Z3r0

Mensagens : 149
Data de inscrição : 01/07/2011
Idade : 32

Ver perfil do usuário http://projectzim.blogspot.com

Voltar ao Topo Ir em baixo

Re: OmegaMK-XII - Challenger2 - FULL - Python

Mensagem  OmegaMK-XII em Sab Jul 16, 2011 5:44 pm

Que nada, vou demorar bem mais nas que faltam (isso se eu conseguir).

Smile
avatar
OmegaMK-XII

Mensagens : 29
Data de inscrição : 04/07/2011

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: OmegaMK-XII - Challenger2 - FULL - Python

Mensagem  OmegaMK-XII em Qua Jul 20, 2011 12:59 am

Não soube muito bem me expressar na questão 1 do Hardcore, espero que seja aceito [Smile]
avatar
OmegaMK-XII

Mensagens : 29
Data de inscrição : 04/07/2011

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: OmegaMK-XII - Challenger2 - FULL - Python

Mensagem  OmegaMK-XII em Ter Jul 26, 2011 6:11 pm

Bom, acho que não terei tempo pra fazer as 3 que faltam. Fica pra próxima.
avatar
OmegaMK-XII

Mensagens : 29
Data de inscrição : 04/07/2011

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: OmegaMK-XII - Challenger2 - FULL - Python

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum