sábado, 9 de dezembro de 2023

21. Funções (parte2)

Interactive Help

função interna help()

em console python:

>>> help()

para sair: digitar 'quit'


outra forma:

help(print)


para imprimir a documentação:

print(input.__doc__)


Docstrigs
Ex.: Criando a função contador():

def contador(i, f, p):

    """

    -> Faz uma contagem e mostra na tela.

    :param i: inicio da contagem

    :param f: fim da contagem

    :param p: passao da contagem

    :return: sem retorno

    """

    c = i

    while c <= f:

        print(f'{c}', end='..')

c += p

    print('FIM')


contador(2, 10, 2)


Parâmetros Opcionais:

def somar(a = 0, b = 0, c = 0)

    s = a + b + c

    print(f'A soma vale {s}')


somar(3, 2, 5)

somar(8, 4) #se colocar menos parametros pode dar erro, caso eu nao coloque o valor padrão na função


Escopo de variáveis:

Variável global: Declarada no programa principal

Variável local: declarada dentro de uma função


def teste(a):

    a += 2

    b = 1

    c = 4

    print(f'a dentro vale {a}')

    print(f'b dentro vale {b}')

    print(f'c dentro vale {c}')



a = 5

print(f'a fora vale {a}')


teste(a)


a fora vale 5
a dentro vale 7
b dentro vale 1
c dentro vale 4


Cria-se duas variáveis a, uma global e uma local.


Para que a variável mude de valor também no escopo global usar o global:


def teste(b):

    global a  #é como se eu pedisse para o sistema não criar uma variavel a mais, mas usar a variavel global a

    a = 8

    b += 1

    c = 4

    print(f'a dentro vale {a}')

    print(f'b dentro vale {b}')

    print(f'c dentro vale {c}')



a = 5

print(f'a fora vale {a}')


teste(a)

print(f'a fora vale {a}')


a fora vale 5
a dentro vale 8
b dentro vale 6
c dentro vale 4
a fora vale 8

______________________________


Retorno de Valores
return

Exemplo:

def somar(a=0, b=0, c=0):

    s = a + b + c

    return s


c = somar(2, 3, 5) + somar(4, 7) + somar(5)

print(c)


def fatorial(num=1):

    f = 1

    for i in range(num, 0, -1):

f *= i

    return f



n = int(input('Digite um número: '))

print(f'O fatorial de {n} é {fatorial(n)}')


Posso retornar booleanos, strings etc.:


def par(n=0):

    if n % 2 == 0:

return True

    else:

return False


par(num)

if par(num):

    print('É par')

else:

    print('Não é par')



Exercícios
101: Crie um programa que tenha uma função chamada voto() que vai receber como parâmetro o ano de nascimento de uma pessoa, retornando um valor literal indicando se uma pessoa tem voto NEGADO, OPCIONAL ou OBRIGATÓRIO nas eleições.


102: Crie um programa que tenha uma função chamada fatorial() que receba dois parâmetros: o primeiro que indique o número a calcular e o outro chamado show, que será mostrado ou não na tela o processo de cálculo do fatorial.


103: Faça um programa que tenha uma função chamada ficha(), que recebe dois parâmetros opcionais: o nome de um jogador e quantos gols ele marcou. O programa deverá ser capaz de mostrar a ficha do jogador, mesmo que algum dado não tenha sido informado corretamente.


104: Crie um programa que tenha a função leiaInt(), que vai funcionar de forma semelhante à função input() do Python, só que fazendo a validação para aceitar apenas um valor numérico. Ex.: n = leiaInt('Digite um n').


105: Faça um programa que tenha uma função notas() que pode receber várias notas de alunos e vai retornar um dicionário com as seguintes informações:

 - Quantidade de notas
 - A maior nota
 - A menor nota
 - A média da turma
 - A situação (opcional)


106: Faça um minissistema que utilize o Interactive Help do Python. O usuário vai digitar o comando e o manual vai aparecer. Quando o usuário digitar 'FIM', o programa 

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.