예제 #1
0
"""
    Exercício Python #103 - Ficha do Jogador
    Faça um programa que tenha uma função chamada ficha(), que receba 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.
"""
from pattern import title, end, prof

title("Player record")


def record(n='', g=''):
    if n == '':
        n = '<unknown>'
    if g.isnumeric():
        g = int(g)
    else:
        g = 0

    return f"Player '{n}' has scored {g} goal(s) in the league."


n = str(input("Type a name » ")).strip().title()
g = input("Number of goals  » ")

print(record(n, g))

end(), prof()


def ficha(jog='<desconhecido>', gol=0):
예제 #2
0
"""
    Exercício Python #100 - Funções para sortear e somar
    Faça um programa que tenha uma lista chamada números e duas funções chamadas sorteia() e somaPar().
    A primeira função vai sortear 5 números e vai colocá-los dentro da lista e a segunda função vai
    mostrar a soma entre todos os valores pares sorteados pela função anterior.
"""
from pattern import title, end, prof
from random import sample, randint
from time import sleep

title('Functions for Raffle and Sum')

lst = []


def raffle(input):
    r = sample(range(10), input)
    print(f"Sorting {len(r)} values from the list » ", end='')
    for i in r:
        lst.append(i)
        print(i, end=' ', flush=True), sleep(0.5)


def sm():
    s = []
    for i in lst:
        if i % 2 == 0:
            s += [i]
    print(f"\n\nEven values are {s} and their sum is » {sum(s)}"), sleep(1)

예제 #3
0
from pattern import title, end
from textwrap import dedent
from lesson22 import coin, validate
title("Exercising Python Modules")
title('ex107 + ex108 + ex109 + ex110 + ex111 + ex112')
p = validate.money("Enter price » R$ ")

print(dedent(f"""
                 The half of {coin.money(p)} is » {coin.half(p, True)}\n
                 The double of '{coin.money(p)}' is » {coin.double(p, True)}\n
                 Increasing '10%', we have » {coin.increase(p, 10, True)}\n
                 Reducing '13%', we have » {coin.decrease(p, 13, True)}
            """))
title("Resume")
coin.resume(p, 80, 35)

end()
"""
     Exercício Python #107 - Exercitando módulos em Python
     Crie um módulo chamado moeda.py que tenha as funções incorporadas
     aumentar(), diminuir(), dobro() e metade().
     Faça também um programa que importe esse módulo e use algumas dessas funções.
     -
     Exercício Python #108 - Formatando Moedas em Python
     Adapte o código do desafio #107, criando uma função adicional chamada moeda()
     que consiga mostrar os números como um valor monetário formatado.
     -
     Exercício Python #109 - Formatando Moedas em Python
     Modifique as funções que form criadas no desafio 107 para que elas aceitem um parâmetro a mais,
     informando se o valor retornado por elas vai ser ou não formatado pela função moeda(),
     desenvolvida no desafio 108.
예제 #4
0
"""
   Exercício Python #113 - Funções aprofundadas em Python
   Crie um código em Python que teste se o site pudim está acessível pelo computador usado.
"""
from pattern import title, end
from lesson22 import validate

title("In-depth Python Functions")

i = validate.integer("Type a integer number » ")
r = validate.real("Type a real number » ")
print(f"The integer reported was {i} and the real was {r}")

end()
예제 #5
0
"""
   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)

    Adicione também as docstrings dessa função para consulta pelo desenvolvedor.
"""
from pattern import title

title("Analyzing and Generating Dictionaries")


def notes(msg):
    note = 0
    lst = []
    dic = {}
    while True:
        i = float(input(msg))
        if i == float(i):
            note = float(i)
            lst += [note]
        else:
            print(f"Invalid data. Please enter a number.")

        while True:
            res = str(
                input("Do you wish to continue? [Y/N] » ")).strip().upper()[0]
예제 #6
0
import pattern
from textwrap import dedent
pattern.title("Modularização")
print(dedent(f"""
                » Surgiu no início da década de 60
                » Sistemas ficando cada vez maiores
                » Foco: dividir um programa grande
                » Foco: aumentar a legibilidade
                » Foco: facilitarn a manutenção\n
                - - - - - - Vantagens - - - - - -\n
                » Organização do código
                » Facilidade na manutenção
                » Ocultação de código detalhado
                » Reutilização em outros projetos
            """))

from lesson22 import numeros
num = int(input('Digite um valor: '))
fat = numeros.fatorial(num)
print(f'0 fatorial de {num} é {fat}')
print(f'O dobro de {num} é {numeros.dobro(num)}')
예제 #7
0
from pattern import title
title("Handling Errors and Exceptions")
try:
    a = int(input('Numerador: '))
    b = int(input('Denominador: '))
    r = a / b

except (ValueError, TypeError):
    print('Tivemos um problema com os tipos de dados que você digitou.')

except ZeroDivisionError:
    print('Não é possível dividir um número por zero!')

except KeyboardInterrupt:
    print('O Usuário preferiu não informar os dados!')

except Exception as erro:
    print(f'O problema encontrado foi {erro.__cause__}')

else:
    print(f'O resultado é {r:.1f}')

finally:
    print('Volte sempre! Muito obrigado!')
예제 #8
0
"""
    Exercício Python #102 - Função para Fatorial
    Nessa aula, vamos continuar nossos estudos de funções em Python, aprendendo mais sobre
    Interactive Help em Python, o uso de docstrings para documentar nossas funções, argumentos opcionais
    para dar mais dinamismo em funções Python, escopo de variáveis e retorno de resultados.
"""
from pattern import title, end, prof
title("Function for Factorial")


def fact(i=0, s=0, h=0):
    """This function calculates the factorial of a number

    Args:
        i (int): Input of the number to be factored
        s (str): If selected "Y", will show the calculation
        h (str): If selected "Y", will show the docstrings of function

    Returns:
        print: Shows the factorial of the number entered (i)
    """
    f = 1
    for c in range(i, 0, -1):
        if s == "Y":
            print(f"{c}", end=" ")
            if c > 1:
                print(f"x", end=" ")
        f *= c

    if s == "Y":
        print(f"» {f}")
예제 #9
0
from pattern import title
from textwrap import dedent

title("Lesson '20' content")
print(dedent("""
                » Interactive Help
                » docstrings
                » Argumentos opcionais
                » Escopo de variáveis
                » Retorno de resultados
            """),
      end='')

title("Interactive Help")
print("See the meaning » help(print) or print(input.__doc__)")

title("docstrings")
print(
    "Function Manual which can be accessed by the command » help(def), example » help(couter)"
)


def contador(i, f, p):
    """
    Faz uma contagem e mostra na tela.

    Args:
        i (int): início da contagem
        f (int): fim da contagem
        p (int): passo da contagem
        retunr : sem retorno
예제 #10
0
"""
    Exercício Python #101 - Funções para votação
    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 e OBRIGATÓRIO nas eleições.
"""
from pattern import title, end, prof
from datetime import date

title("Voting Functions")


def vote(i):
    v = date.today().year - i
    if v < 16:
        return f"\nWith {v} years » Cannot vote."
    elif v < 18 or v > 65:
        return f"\nWith {v} years » Optional vote."
    else:
        return f"\nWith {v} years » Mandatory vote."


i = int(input("Type date of birth » "))

print(vote(i)), end(), prof()


def voto(ano):
    atual = date.today().year
    idade = atual - ano
    if idade < 16:
예제 #11
0
"""
    Exercício Python #104 - Validando entrada de dados em Python
    Crie um programa que tenha a função leiaInt(), que vai funcionar de forma semelhante 'a função input()
    do Python, só que fazendo a validação para aceitar apenas um valor numérico.
    Ex: n = leiaInt('Digite um n: ')
"""
from pattern import title, end, prof
title("Validating data entry in Python"), prof()
def leiaInt(msg):
    ok = False
    valor = 0
    while True:
        n = str(input(msg))
        if n.isnumeric():
            valor = int(n)
            ok = True
        else:
            print("ERRO! Digite um número inteiro válido.")
        if ok:
            break

        while True:
            res = str(input("Do you wish to continue? [Y/N] » ")).strip().upper()[0]
            if res in "YN":
                break
            print("Option invalid. Try again.")
        
        if res == "N":
            break
    return valor
# Programa Principal