associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "ExerciciosFuncoesSolucoes"

Diferenças entre as versões de 9 e 21 (12 versões de distância)
Revisão 9e 2010-11-28 18:55:50
Tamanho: 1718
Editor: Jorge
Comentário:
Revisão 21e 2015-11-30 00:07:55
Tamanho: 4680
Editor: JonasAlves
Comentário:
Deleções são marcadas assim. Adições são marcadas assim.
Linha 5: Linha 5:
 * Exercício 1
 {{{#!python
def exercicio_1(n):
    for i in range(n):
        i += 1
        print str(i) * i

 }}}

 Proposta por ThiagoSeixas
Linha 17: Linha 27:

 * Exercício 1
 {{{#!python
 def exercicio_1(n):
     x=1
     while x<=n:
        y=0
        while y<x:
            print '%i' %x,
            y+=1
        x+=1
        print
 }}}

 Proposta por [[https://www.python.org.br/wiki/lhzefe|Lhzefe]]


 * Exercício 1
Linha 46: Linha 74:
 {{{#!python
Linha 54: Linha 83:
 Proposta por Jorge  }}}

 by Jorge


 * Exercício 5
 {{{#!python
 def somaimposto(taxaimposto,custo):
    return (0.01*taxaimposto)*custo + custo
 
 }}}

 by Jorge

* Exercício 7

__author__ = 'JonasAlves'

def valorPagamento(vp, da):
 if da < 1:
  valor = vp
  print(valor)
  return valor
 else:
  valor = (vp + vp * 0.03 + 0.01 * da)
  print(valor)
  return valor

valor = []
vp = 0
da = 0
qp = 0
valortotal = 0

while True:
 qp += 1
 vp = float(input('Qual o valor da prestacao? '))
 da = int(input('Quantos dias esta em atraso? '))
 if vp == 0:
  break
 valor.append(valorPagamento(vp, da))

qp -= 1
for i in range(qp):
    valortotal += valor[i]

print('Relatorio do dia, foram pagas %d prestacoes no valor: ' %qp, valor)
print('Valor total de prestacoes pagas: ', valortotal)
Linha 62: Linha 138:
 * Exercício 9:Faça uma função que retorne o reverso de um número inteiro informado. Por exemplo: 127 -> 721.
 {{{#!python
def exercicio_9(n):
    inverte=str(n)
    print inverte[::-1]
 }}}
 
 Proposta por ThiagoSeixas
Linha 73: Linha 157:
 Proposta por HenriqueBaggio

 {{{#!python
 def reverso(n):
     str(n)[::-1]
 }}}
 Proposta por IuriSilvio

 * Exercício 12: 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.
 {{{#!python
 import random

 def exercicio_12(s):
     embaralha = random.sample(s, len(s)) # String vira lista
     a = ''.join(embaralha) # lista vira string
     print (a)
 }}}
 
 Proposta por ThiagoSeixas


 * Exercício 13
 {{{#!python

 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=raw_input('Diga quantos +----+, entre 1 e 20: ')
 coluna=raw_input('Diga quantos | |, entre 1 e 20: ')
 desenha_moldura(valor_por_omissao(linha), valor_por_omissao(coluna))
 }}}
 Proposta por [[https://www.python.org.br/wiki/lhzefe|Lhzefe]]

Exercícios com Funções: Proposta de Soluções

Esta página contém algumas propostas de soluções para os exercícios da Lista 6: Funções.

  • Exercício 1
       1 def exercicio_1(n):
       2     for i in range(n):
       3         i += 1
       4         print str(i) * i
    

    Proposta por ThiagoSeixas

  • Exercício 1
       1  def exercicio1(n):
       2      for i in range(1, n+1):
       3          for j in range(i):
       4              print i,         # print j times the number i in the same line 
       5          print                # print a new line
    

    Proposta por HenriqueBaggio

  • Exercício 1
       1  def exercicio_1(n):
       2      x=1
       3      while x<=n:
       4         y=0
       5         while y<x:
       6             print '%i' %x,
       7             y+=1
       8         x+=1
       9         print 
    

    Proposta por Lhzefe

  • Exercício 1
       1  def ex1(n):
       2      for i in range(1, n+1): 
       3          print((str(i)+" ")*i)
    

    Proposta por RogerioDuarte

  • Exercício 2
       1  def exercicio2(n):
       2      for i in range(1, n+1):
       3          for j in range(i):
       4              print j,          # print a line with 0 1 ... i 
       5          print                 # print a new line
    

    Proposta por HenriqueBaggio

  • Exercício 3
       1  def exercicio3(a, b, c):
       2      return a + b + c
    

    Proposta por IuriSilvio

  • Exercício 4
       1  def pn(x):
       2      if x<0:
       3          return "N"
       4      elif x>0:
       5          return "P"
       6      else:
       7         return "ZERO"
    
    by Jorge
  • Exercício 5
       1  def somaimposto(taxaimposto,custo):
       2     return (0.01*taxaimposto)*custo + custo
       3  
    
    by Jorge

* Exercício 7

author = 'JonasAlves'

def valorPagamento(vp, da):

  • if da < 1:

    • valor = vp print(valor) return valor
    else:
    • valor = (vp + vp * 0.03 + 0.01 * da) print(valor) return valor

valor = [] vp = 0 da = 0 qp = 0 valortotal = 0

while True:

  • qp += 1 vp = float(input('Qual o valor da prestacao? ')) da = int(input('Quantos dias esta em atraso? ')) if vp == 0:
    • break
    valor.append(valorPagamento(vp, da))

qp -= 1 for i in range(qp):

  • valortotal += valor[i]

print('Relatorio do dia, foram pagas %d prestacoes no valor: ' %qp, valor) print('Valor total de prestacoes pagas: ', valortotal)

  • Exercício 8
       1  def exercicio8(n):
       2      s = str(n)
       3      return len(s)
    
  • Exercício 9:Faça uma função que retorne o reverso de um número inteiro informado. Por exemplo: 127 -> 721.

       1 def exercicio_9(n):
       2     inverte=str(n)
       3     print inverte[::-1]
    

    Proposta por ThiagoSeixas

  • Exercício 9: A ideia nesse exercicio é que, para um dado digito numa posição i do número de entrada, ele terá o seu valor multiplicado por 10**i no número de saída.
       1  def reverso(n):
       2      s = str(n)       # converte o numero para uma string
       3      l = 0
       4      for x in range(len(s)):
       5          l += int(s[x]) * (10**x)
       6      return l
    
  • Exercício 12: 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.
       1  import random
       2 
       3  def exercicio_12(s):
       4      embaralha = random.sample(s, len(s)) # String vira lista
       5      a = ''.join(embaralha) # lista vira string
       6      print (a)
    

    Proposta por ThiagoSeixas

  • Exercício 13
       1  def valor_por_omissao(valor):
       2      if valor=='':
       3          return int(1)
       4      else:
       5          return faixa_minima_maxima(int(valor))
       6 
       7  def faixa_minima_maxima(valor):
       8      if valor<1:
       9          return 1
      10      elif valor>20:
      11          return 20
      12      else:
      13          return valor
      14 
      15  def cria_linha(linha):
      16      l='+'
      17      for x in range(linha):
      18          l+='-'
      19      l+='+'
      20      print l
      21 
      22  def cria_coluna(linha, coluna):
      23      for y in range(coluna):
      24          c='|'
      25          c+= ' '*linha
      26          c+='|'
      27          print c
      28 
      29  def desenha_moldura(linha, coluna):
      30      cria_linha(linha)
      31      cria_coluna(linha, coluna)
      32      cria_linha(linha)
      33 
      34  linha=raw_input('Diga quantos +----+, entre 1 e 20: ')
      35  coluna=raw_input('Diga quantos |    |, entre 1 e 20: ')
      36  desenha_moldura(valor_por_omissao(linha), valor_por_omissao(coluna))
    

    Proposta por Lhzefe