Skip to content

Commit

Permalink
Exercicios da lista de Funções (9 a 13)
Browse files Browse the repository at this point in the history
  • Loading branch information
karenyov committed Jun 15, 2017
1 parent f4351ea commit 2e702d8
Show file tree
Hide file tree
Showing 6 changed files with 139 additions and 0 deletions.
35 changes: 35 additions & 0 deletions 5_ExerciciosFuncoes/10.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
'''
10. Jogo de Craps. Faça um programa de implemente um jogo de Craps.
O jogador lança um par de dados, obtendo um valor entre 2 e 12.
Se, na primeira jogada, você tirar 7 ou 11, você um "natural" e ganhou.
Se você tirar 2, 3 ou 12 na primeira jogada, isto é chamado de "craps" e
você perdeu. Se, na primeira jogada, você fez um 4, 5, 6, 8, 9 ou 10,
este é seu "Ponto".
Seu objetivo agora é continuar jogando os dados até
tirar este número novamente.
Você perde, no entanto, se tirar um 7 antes de tirar este Ponto novamente.
'''

from random import randint

def craps():
dado = randint(2,13)
if dado == 7 or dado == 11:
print('Você um natural e ganhou!')

elif dado == 2 or dado == 3 or dado == 12:
print('Craps você perdeu!')

elif dado == 4 or dado == 5 or dado == 6 or dado == 8 or dado == 9 or dado ==10:

numero = 0
while dado != numero:
numero = randint(2,13)
if numero == 7:
print('Você perdeu!')
break
if numero != 7:
print('Você ganhou!')

craps()
20 changes: 20 additions & 0 deletions 5_ExerciciosFuncoes/11.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
'''
11. Data com mês por extenso. Construa uma função que receba uma data no
formato DD/MM/AAAA e devolva uma string no formato D de mesPorExtenso de AAAA.
Opcionalmente, valide a data e retorne NULL caso a data seja inválida.
'''

def data(data):
dia = int(data[0:2])
mes = int(data[3:5])
ano = int(data[6::])

if dia < 1 or dia > 31 or mes > 12 or mes < 1:
print('Data inválida')
return 0

meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']

novaData = str(dia) + ' de ' + meses[mes - 1] +' de ' + str(ano)
return novaData
print(data('10/12/2000'))
22 changes: 22 additions & 0 deletions 5_ExerciciosFuncoes/12.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
'''
12. Embaralha palavra. Construa uma função que receba uma string como
parâmetro e devolva outra string com os carateres embaralhados.
Por exemplo: se função receber a palavra python, pode retornar npthyo,
ophtyn ou qualquer outra combinação possível, de forma aleatória.
Padronize em sua função que todos os caracteres serão devolvidos em
caixa alta ou caixa baixa,
independentemente de como foram digitados.
'''

import random

def embaralha(palavra):
palavra = palavra.lower()

embaralha = random.sample(palavra, len(palavra)) # String vira lista
nova = ''.join(embaralha) # lista vira string

return nova

print(embaralha('TESTE'))

45 changes: 45 additions & 0 deletions 5_ExerciciosFuncoes/13.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
'''
13.Desenha moldura. Construa uma função que desenhe um retângulo usando
os caracteres ‘+’ , ‘−’ e ‘| ‘. Esta função deve receber dois parâmetros,
linhas e colunas, sendo que o valor por omissão é o valor mínimo igual a
1 e o valor máximo é 20. Se valores fora da faixa forem informados, eles
devem ser modificados para valores dentro da faixa de forma elegante
'''

def valor_por_omissao(valor):
if valor=='':
return int(1)
else:
return faixa_minima_maxima(int(valor))

def faixa_minima_maxima(valor):
if valor<1:
return 1
elif valor>20:
return 20
else:
return valor

def cria_linha(linha):
l='+'
for x in range(linha):
l+='-'
l+='+'
print (l)

def cria_coluna(linha, coluna):
for y in range(coluna):
c='|'
c+= ' '*linha
c+='|'
print (c)

def desenha_moldura(linha, coluna):
cria_linha(linha)
cria_coluna(linha, coluna)
cria_linha(linha)

linha=input('Diga quantos +----+, entre 1 e 20: ')
coluna=input('Diga quantos | |, entre 1 e 20: ')
desenha_moldura(valor_por_omissao(linha), valor_por_omissao(coluna))
8 changes: 8 additions & 0 deletions 5_ExerciciosFuncoes/8.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'''
8. Faça uma função que informe a quantidade de dígitos de um determinado
número inteiro informado.
'''

def digitos(n):
return len(str(n))
9 changes: 9 additions & 0 deletions 5_ExerciciosFuncoes/9.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
'''
9. Reverso do número. Faça uma função que retorne o reverso de um
número inteiro informado. Por exemplo: 127 -> 721.
'''

def reverso(n):
return str(n)[::-1]
print(reverso(127))

0 comments on commit 2e702d8

Please sign in to comment.