Enviar um café pro programador

Mostrando postagens com marcador Função. Mostrar todas as postagens
Mostrando postagens com marcador Função. Mostrar todas as postagens

Números Perfeitos em Python

Neste tutorial de nosso Curso de Python Online, vamos aprender o que são os números perfeitos, como descobrir se um número é e vamos gerar todos os números perfeitos em uma determinada faixa de valores.

É um exercício resolvido de nossa lista de questões de funções.
Leia também:

Como Descobrir um Número Perfeito em Python


Vejamos o enunciado da questão:

Um número é dito perfeito quando ele é igual a soma de seus fatores. Por exemplo, os fatores de 6 são 1, 2 e 3 (ou seja, podemos dividir 6 por 1, por 2 e por 3) e 6=1+2+3, logo 6 é um número perfeito. Escreva uma função que recebe um inteiro e dizer se é perfeito ou não. Em outra função, peça um inteiro n e mostre todos os números perfeitos até n.

Ou seja, temos que fatorar o número para saber se ele é um número perfeito.
Para isso, vamos usar o operador % de resto da divisão.

Na função perfeito( n ), devemos pegar o argumento passado n e fazer o resto da divisão por 1, 2, 3, 4, ..., até n. Fazemos isso com a função range(1, n+1), que vai testar de 1 até n.

Se der 0 o resto da divisão, é porque esse valor é um divisor de n.
Vamos somar esse valor a uma variável chamada soma, que inicializamos com valor 0, no início da função perfeito().

No final, pegamos o valor contido em soma e comparamos com n.
Se forem iguais, retornamos True, pois é perfeito.
Se não forem iguais, não é um número perfeito e retornamos False.



Exibindo números perfeitos

Agora vamos para a função exibe(), que inicialmente pede um número inteiro ao usuário, n,

O que essa função vai fazer é jogar de 1 até n na função perfeito() e exibir os números que retornarem True, ou seja, que são perfeitos!

Fazemos isso com um simples laço for com range(1,n+1) e um IF dentro do laço, para testar o retorno da função perfeito().

Teste o código abaixo com os seguintes valores: 28, 496, e 8128. São perfeitos?



Código Python

def perfeito(n):
    soma=0
    for val in range(1,n):
        if n % val == 0:
            soma += val

    if soma==n:
        return True
    else:
        return False
        
def exibe():
    n = int(input('Exibir perfeitos até o número: '))
    
    for val in range(1,n+1):
        if(perfeito(val)):
            print(val)
    
while True:
    exibe()

Gerar a Série de Fibonacci em Python (Recursividade)

Neste tutorial de nosso Curso de Python, vamos aprender como gerar a tão famosa sequência de Fibonacci, usando funções e recursão!

É um exercício resolvido de nossa lista de questões de funções.
Leia também:

Gerando a Sequência de Fibonacci em Python


A série de Fibonacci é uma sequência de números, cujos dois primeiros são 0 e 1. O termo seguinte da sequência é obtido somando os dois anteriores. Faça uma script em Python que solicite um inteiro positivo maior que 1 ao usuário, n. Então uma função exibe todos os termos da sequência até o n-ésimo termo. Use recursividade.

Vamos criar uma função chamada fibo( n ) que tem o parâmetro n.
O argumento que você deve passar para esta função é um inteiro positivo, maior ou igual a 2.

Como a série de Fibonacci é formada somando seus dois termos anteriores, sua fórmula geral é:
fibo(n) = fibo(n-1) + fibo(n-2)

Mas como toda boa função que usa recursividade, ele tem que ter um stop, pois uma hora ela vai ter que parar. Fazemos isso usando testes condicionais IF.

No nosso caso, vai ter dois stops.
Se o valor de n for igual 1, vamos retornar 0 (pois o primeiro termo é 0).
Se o valor de n for igual 2, vamos retornar 1 (pois o segundo termo é 1).

Pronto, para valores maiores que 2, basta somarmos os dois termos anteriores.

Agora vamos montar nossa função menu().
Ela pede o termo n ao usuário, que deve ser inteiro e maior que 2.

Agora ela deve imprimir na tela os valores de fibo(1), fibo(2), fibo(3)....até fibo(n).
Lembre-se, nossa função mostra o n-ésimo termo!

Então temos que imprimir todos, de 1 até n.

Fazemos isso usando um laço for, que vai de 1 até n (função range). 

E prontinho, vai exibir cada termo da sequência de Fibonacci, um por linha!

Danada essa função recursiva, não?



Código Python

Nosso código ficou assim:


def fibo(n):
    if n==1:
        return 0
    elif n==2:
        return 1
    else:
        return fibo(n-1) + fibo(n-2)
        
def menu():
    n = int(input('Exibir ate o termo (maior que 2): '))

    for val in range(1,n+1):
        print(fibo(val))
    
while True:
    menu()


Jogando Dados com Python - Estatística e Probabilidade

Neste tutorial de Python, vamos envolver programação e Matemática, especificamente estatística e probabilidade, e vamos comprovar na prática que elas existem e funcionam!

Leia também:

Jogando os Dados com o Python


Para gerar nossos números aleatórios de 1 até 6, vamos definir a função gera() que não tem nenhum parâmetro e vai, obviamente, retornar número inteiro de 1 até 6.

Para isso, vamos usar a função randint da biblioteca random.
Se não leu nosso tutorial, veja: Como gerar números aleatórios em Python

Essa função recebe os argumentos 1 e 6, parar gerar inteiros de 1 até 6. E para usar ela, temos que importar o módulo random.
Ela fica:

import random

def gera():
    return random.randint(1,6)

Agora, vamos criar a função repete(n), que vai repetir n lançamentos de dados, onde n o usuário vai escolher quantas vezes vai jogar os dados.

Vamos armazenar os resultados 1, na variável test1.
Vamos armazenar os resultados 2, na variável test2.
...
Vamos armazenar os resultados 6, na variável test6.

Então inicializamos essa variável com todas elas igual a 0.

Agora vamos fazer um laço for pra rodar n vezes o lançamento de dados.
Cada vez que lança o dado (simplesmente chamando a função gera() - uma maravilha função né?), armazenamos na variável test.

Em seguida, vamos fazer várias comparações com IF, ELIF e ELSE, para saber se o valor do dado é 1, 2, 3, 4, 5 ou 6. E quando achar o valor certo, incrementar em 1 o valor da variável test1, ou test2 ou ... test6.

Ou seja, ao final do laço for, as variáveis test1, test2, ..., test6 terão quando vezes foi sorteado o número 1, 2, 3, 4, 5 e 6 respectivamente.

Então simplesmente damos seis prints, para exibir quantas vezes cada número saiu, bem como mostramos a porcentagem de frequência de cada valor,





Veja o código:

import random

def gera():
    return random.randint(1,6)

def repete(n):
    test1=test2=test3=      \
    test4=test5=test6 = 0
    for val in range(n):
        test = gera()

        if(test==1):
            test1 += 1
        elif(test==2):
            test2 += 1
        elif(test==3):
            test3 += 1
        elif(test==4):
            test4 += 1
        elif(test==5):
            test5 += 1
        else:
            test6 += 1
            

    print("Numero 1 saiu ", test1," vezes = ",(test1/n)*100, " %")
    print("Numero 2 saiu ", test2," vezes = ",(test2/n)*100, " %")
    print("Numero 3 saiu ", test3," vezes = ",(test3/n)*100, " %")
    print("Numero 4 saiu ", test4," vezes = ",(test4/n)*100, " %")
    print("Numero 5 saiu ", test5," vezes = ",(test5/n)*100, " %")
    print("Numero 6 saiu ", test6," vezes = ",(test6/n)*100, " %")

        
def menu():
    n = int(input('Quantos lançamentos de dado? '))
    repete(n)
    
while True:
    menu()

PS 1: Quanto maior for o n, mais a porcentagem se aproxima de 16,67% pois vai tendendo à probabilidade, que é de 1/6 .

PS 2: Mais na frente, quantos estudarmos sequências, você aprenderá maneiras mais simples de se trabalhar com várias variáveis de uma vez só.


Função que mostra Maior e Menor número em Python

Neste tutorial de nosso Curso Python Progressivo, vamos resolver uma questão da lista de exercícios sobre funções.

Leia também:

Como achar o maior número

Vamos resolver o seguinte exercício:
"Faça um programa que recebe três números do usuário, e identifica o maior através de uma função e o menor número através de outra função."

Vamos lá.
Nossa função maior() tem três parâmetros: x, y e z, que são os números que iremos passar como argumento.

Dentro da função, definimos a variável max que recebe o valor de x.
Vamos assumir que é o valor máximo.

Comparamos, via Teste incondicional IF, max com y.
Se y for maior que max, fazemos max receber o valor de y.
Veja que max vai armazenar o maior valor, dentre x e y.

Em seguida, fazemos a mesma coisa, comparando max com z.
E prontinho, max vai ter o maior valor dentre x, y e z.

Agora é só dar um return.

Descobrir o menor número

A lógica é absolutamente a mesma da anterior.
Vamos usar uma variável min que vai ser encarregada de armazenar o menor valor.

Inicialmente, fazemos receber o valor de x. Depois comparamos min com y e depois com z.
Se forem menor que min, o valor de min recebe esse novo valor, pois é menor.

Por fim, basta dar um return min na função menor().

Nosso código fica:
def maior(x,y,z):
    max = x

    if y > max:
        max = y
    if z > max:
        max = z

    return max

def menor(x,y,z):
    min = x

    if y < min:
        min = y
    if z < min:
        min = z

    return min

def menu():
    x = int(input('Primeiro numero: '))
    y = int(input('Segundo numero : '))
    z = int(input('Terceiro: numero: '))

    print("Maior: ", maior(x,y,z))
    print("Menor: ", menor(x,y,z))
    print()
    
while True:
    menu()


Função chamando Função em Python

Neste tutorial de nossa apostila de Python, vamos resolver mais uma questão sobre funções em Python.

Leia também:


Função invocando Função em Python

O exercício abaixo faz parte da lista de questões de funções:
Faça um script Python com uma função que necessite de três argumentos, e que forneça a soma desses três argumentos através. Seu script também deve fornecer a média dos três números, através de uma segunda função que chama a primeira.

Vamos chamar de x, y e z os três números que o usuário vai fornecer e passar para a função soma().
Dentro dela, armazenamos o valor da soma na variável res (de resultado) e retornamos esse valor:

def soma(x,y,z):
    res = x + y + z
    return res

Agora, na função media(), também recebe estes três argumentos x, y e z.
Usamos a função soma() para calcular a soma deles, dentro da função media() mesmo, sem problemas, e armazenamos o valor da soma na variável som que então é dividida por 3 e armazenada na variável med (de média), e então retornamos essa variável:

def media(x,y,z):
    som = soma(x,y,z)
    med = som/3
    return med

Por fim, criamos uma função menu(), com que é invocada infinitamente, que fica pedindo os três números ao usuário, mostrando a soma e a média.

Nosso código completo fica:

def soma(x,y,z):
    res = x + y + z
    return res

def media(x,y,z):
    som = soma(x,y,z)
    med = som/3
    return med

def menu():
    x = int(input('Primeiro numero: '))
    y = int(input('Segundo numero : '))
    z = int(input('Terceiro numero: '))

    print('Soma: ', soma(x,y,z))
    print('Media:', media(x,y,z))

while True:
    menu()




Otimizando um código Python

O exemplo dado acima está bem didático, passo a passo, para melhor entendimento de vocês.
Porém, a medida que formos estudando, fazendo programas e scripts, podemos ir enxugando o código, ou seja, escrevendo cada vez menos, usando menos variáveis etc.

Ou seja, otimizando. Fazer a mesma coisa, mas gastando menos memória, menos processamento e menos linha, assim também economizamos tempo.

Na função soma, não precisamos criar a variável res. Podemos dar returno direto com o valor (x+y+z).

A função media, ao invés de receber três argumentos, pode diretamente receber só o valor da soma.

E o argumento que passamos pra ela, da soma? Ué, chamamos a função soma direto:
media ( soma(x,y,z)  )

E dentro dessa função media() não precisamos das variáveis som e med, podemos dar um returno direto.

Nosso código, mais limpo, fica assim:

def soma(x,y,z):
    return (x + y + z)

def media(num):
    return num/3

def menu():
    x = int(input('Primeiro numero: '))
    y = int(input('Segundo numero : '))
    z = int(input('Terceiro numero: '))

    print('Soma: ', soma(x,y,z))
    print('Media:', media( soma(x,y,z) ))

while True:
    menu()


Conversão entre graus Celsius e Farenheitn em Python

Neste tutorial de nosso Curso de Python, vamos aprender como converter entre os graus Celsius e Farenheit, através do uso de funções em Python. Essa é uma questão faz parte dos exercícios de funções.

Leia também:




Conversão entre Celsius e Farenheit

Vamos usar as variáveis C para representar a medida do grau em Celsius, e a variável F para representar em Farenheit.

A fórmula para conversar de Celsius para Farenheit é:
Curso de Python Online Grátis

Vamos chamar de C_para_F(C) uma função que recebe o grau Celsius, C, e retorna o valor em Farenheit. O código Python da fórmula acima é, então:

def C_para_F(C):
    F = (C*9/5) + 32
    return F


Agora o contrário. Vamos chamar de F_para_C(F) uma função que recebe graus Farenheit F como argumento e retorna o valor convertido para Celsius. A fórmula Matemática é:
Tutorial de Python

O código Python da função é:

def F_para_C(F):
    C = (F-32)*5/9
    return C

Por fim, a função menu() que pergunta ao usuário que tipo de conversão ele quer fazer.
Uma vez que ele optou, pedimos a medida que ele deseja converter e por fim usamos IF e ELSE para chamar a função correta.

Nosso código Python final fica:

def C_para_F(C):
    F = (C*9/5) + 32
    return F

def F_para_C(F):
    C = (F-32)*5/9
    return C


def menu():
    while True:
        op = int(input('1. Celsius para Farenheit: \n' +
                       '2. Farenheit para Celsius: '))

        if op==1:
            C=int( input('Graus Celsius: ') )
            print('Convertido: ', C_para_F(C),' graus Farenheit\n')
        elif op==2:
            F=int( input('Graus Farenheit: ') )
            print('Convertido: ', F_para_C(F),' graus Celsius\n')
        else:
            print('Opção inválida')
menu()



Exercícios de Funções e Módulos em Python

Agora que já concluímos nossa seção de Função e Módulo, chegou a hora de por a mão na massa e fazer alguns exercícios, criar alguns scripts para fixarmos bem os conhecimentos desta seção.


Exercícios de Função e Módulo em Python

  1. Escreva um script que pergunta ao usuário se ele deseja converter uma temperatura de grau Celsius para Farenheit ou vice-versa. Para cada opção, crie uma função. Crie uma terceira, que é um menu para o usuário escolher a opção desejada, onde esse menu chama a função de conversão correta.
    Conversão entre Celsius e Farenheit

  2. Faça um programa, com uma função que necessite de três argumentos, e que forneça a soma desses três argumentos através de uma função. Seu script também deve fornecer a média dos três números, através de uma segunda função que chama a primeira.
    Função invocando função

  3. Faça um programa que recebe três números do usuário, e identifica o maior através de uma função e o menor número através de outra função.
    Achar maior e menor número com funções

  4. A probabilidade de dar um valor em um dado é 1/6 (uma em 6). Faça um script em Python que simule 1 milhão de lançamentos de dados e mostre a frequência que deu para cada número.
    Jogando dados com o Python

  5. A série de Fibonacci é uma sequência de números, cujos dois primeiros são 0 e 1. O termo seguinte da sequência é obtido somando os dois anteriores. Faça uma script em Python que solicite um inteiro positivo ao usuário, n. Então uma função exibe todos os termos da sequência até o n-ésimo termo. Use recursividade.
    Gerar a sequência de Fibonacci

  6. Crie uma função que recebe um inteiro positivo e teste para saber se ele é primo ou não. Faça um script que recebe um inteiro n e mostra todos os primos, de 1 até n.
    Gerando números primos em Python

  7. Um número é dito perfeito quando ele é igual a soma de seus fatores. Por exemplo, os fatores de 6 são 1, 2 e 3 (ou seja, podemos dividir 6 por 1, por 2 e por 3) e 6=1+2+3, logo 6 é um número perfeito. Escreva uma função que recebe um inteiro e dizer se é perfeito ou não. Em outra função, peça um inteiro n e mostre todos os números perfeitos até n.
    Como achar números perfeitos

  8. Faça um programa para imprimir:
  9. Faça um programa para imprimir:
  10. Faça um programa, com uma função que necessite de um argumento. A função retorna o valor de caractere ‘P’, se seu argumento for positivo, e ‘N’, se seu argumento for zero ou negativo.

  11. Faça um programa com uma função chamada somaImposto. A função possui dois parâmetros formais: taxaImposto, que é a quantia de imposto sobre vendas expressa em porcentagem e custo, que é o custo de um item antes do imposto. A função “altera” o valor de custo para incluir o imposto sobre vendas.



  12. Faça um programa que converta da notação de 24 horas para a notação de 12 horas. Por exemplo, o programa deve converter 14:25 em 2:25 P.M. A entrada é dada em dois inteiros. Deve haver pelo menos duas funções: uma para fazer a conversão e uma para a saída. Registre a informação A.M./P.M. como um valor ‘A’ para A.M. e ‘P’ para P.M. Assim, a função para efetuar as conversões terá um parâmetro formal para registrar se é A.M. ou P.M. Inclua um loop que permita que o usuário repita esse cálculo para novos valores de entrada todas as vezes que desejar.

  13. Faça uma função que informe a quantidade de dígitos de um determinado número inteiro informado.
    Resolvido no e-book Python Progressivo (PDF)

import - Como criar, importar e usar um Módulo em Python

Neste tutorial, vamos aprender a criar, importar e usar um módulo, através da keyword import.

Tutorial anterior: O que são Módulos em Python
Obter certificado do Curso de Python

Como Criar um Módulo

Vamos criar um módulo chamado calculadora.py, ou seja, um arquivo com esse nome e extensão.

Nele, vamos definir 4 funções:
  1. soma(x,y)
  2. subtracao(x,y)
  3. multiplicacao(x,y)
  4. divisao(x,y)

Código que já fizemos várias e várias vezes durante nosso Curso de Python na web.
Uma dica muitíssimo importante, para quando formos criar módulos, é comentar seu código.

Antes de toda função de um módulo, adicione um comentário sobre a função, dizendo o que ela faz, os parâmetros e seu retorno.

Isso ajuda outros programadores que forem usar seus módulos e você também. Nosso módulo calculadora.py ficará assim:


calculadora.py
# Esse módulo realiza as 4 operações matemáticas

# Recebe dois números e retorna a soma
def soma(x,y):
    return x+y

# Recebe dois números e retorna a diferença
def subtracao(x,y):
    return x-y

# Recebe dois números e retorna o produto
def multiplicacao(x,y):
    return x*y

# Recebe dois números e retorna a divisão do primeiro pelo segundo
def divisao(x,y):
    return x/y


Como Importar um Módulo: import

Colocou o código anterior em um arquivo chamado calculadora.py?
Agora salve esse arquivo, é seu módulo, seu código organizado, com funções prontas para serem usadas.


Agora abra um novo arquivo Python.
Para poder usar o módulo que criou, você vai usar a keyword import junto do nome do seu módulo (sem a extensão .py), bem no começo do código:

import calculadora

Seu arquivo calculadora.py deve estar na mesma pasta deste script que está programando, ok? E prontinho, para importar um módulo é só isso.

Ao fazer isso, é como se você estivesse 'jogando' todo o código de calculadora.py dentro desse seu novo script. Tudo que tá dentro do módulo, você vai poder usar como se estivesse direto no seu script.

Como Usar um Módulo

Agora que já criamos e importamos o módulo, precisamos aprender como usar as funções contidas naquele arquivo.

Quando queremos chamar uma função bar(), apenas digitamos:
bar() e pronto, ela roda, pois está naquele arquivo que você está escrevendo.



Mas se a função estiver em outro arquivo, ou seja, em um módulo, de nome fu.py você deve digitar:
fu.bar()

Ou seja, primeiro o nome do módulo, um ponto e o nome da função, ok?
Vamos agora criar um programa que importa esse módulo e usa suas funções.

import calculadora

while True:
    print("1. Soma")
    print("2. Subtração")
    print("3. Multiplicação")
    print("4. Divisão")
    op=int(input("Que operação deseja realizar: "))
    x=float(input("Primeiro numero: "))
    y=float(input("Segundo  numero: "))

    if op==1:
        print("Soma:", calculadora.soma(x,y))
    elif op==2:
        print("Subtração:", calculadora.subtracao(x,y))
    elif op==3:
        print("Multiplicação:", calculadora.multiplicacao(x,y))
    elif op==4:
        print("Divisão:", calculadora.divisao(x,y))
    else:
        print("Opção inválida,tente novamente")

Simples, não?

Nunca mais precisaremos escrever essas funções novamente, sempre que precisarmos usar elas, bastar dar um import nesse módulo e usar diretamente suas funções.

Quando um programador ou empresa vai iniciar seus projetos, eles nunca partem do zero. Quando vamos iniciar um novo programa, é certeza já termos algum código pronto, que pode ser reutilizado.

Por isso é importante salvar seus códigos, seus módulos, comentar, deixá-los bem organizados e fáceis de se ler e entender, pois não tenha dúvidas que vai usá-los novamente no futuro.

Importar Função de um Módulo: from modulo import function

Quando fizemos:
import calculadora

Importamos tudo, todo o código, todas as funções do módulo calculadora.py
Porém, alguns módulos que usaremos são simplesmente gigantes, com milhares e milhares de linhas.

Muitas vezes queremos utilizar apenas uma ou outra função desse módulo, e acabamos dando um import e importamos milhares de linhas de código para no script, sem necessidade alguma.

Isso deixa nosso programa mais lento e pesado.
Por isso, é melhor importarmos somente algumas funções específicas.

Para importarmos uma função function() de um módulo de nome modulo, basta fazermos
  • from modulo import function

Prontinho.
Agora é só usar function() direto (nem precisa fazer modulo.function() ).

Módulo em Python - O que é? Para que serve? Como funciona? Como se usa ?

Neste tutorial, vamos dar início ao nosso estudo sobre módulos em Python, que é uma maneira de organizar nossos projetos e programas.

Aqui, vamos dar uma pincelada teórica sobre o que é um módulo, para que serve, onde e como é usado etc. No próximo tutorial, vamos criar um exemplo prático e real de um projeto usando módulos.

Leia: Curso de Python com Certificado



Módulo - O que é?

De uma maneira bem simples, clara e objetiva: módulo é um arquivo. Um arquivo que contém código Python.

Exemplo de módulos:
  • math.py: para trabalhar com Matemática
  • random.py: módulo para se trabalhar com números aleatórios
  • os.py: módulo para se trabalhar com arquivos
  • time.py: para trabalhar com tempo (data, dia, ano, etc)



Veja alguns módulos que já vem no Python, por padrão:

Module function Python

Dentro desses arquivos, existem muitas, mas muitas funções mesmo, dos mais diversos tipos e dos mais variados propósitos.

Módulo - Para que serve ?

Basicamente, para organizar seus projetos.

Até o momento, em nosso Curso de Python, fizemos scripts de 10, 15, 20 linhas no máximo. Mas isso se deve, principalmente, por termos feitos tarefas simples.



Agora, imagine projetos como Instagram e Youtube, que usam Python. Agora, imagine um grande programa, um sistema bem robusto...facilmente passa de centenas e até milhares de linhas de código.

Pense agora no trabalho que daria para escrever milhares de linha de código em um único arquivo .py? Não dá, ficaria muito desorganizado.

E é aí que entra o conceito de módulo, a ideia basicamente é dividir o código em 'pedaços' menores, arquivos .py, de assuntos específicos e relacionados entre site

Módulo - Onde é usado ?
Imagine que você e sua empresa foram contratados para desenvolver um jogo.
Um jogo grande, complexo, como LoL ou WoW. Será necessário uma equipe muito grande de profissionais.

Por exemplo, alguém responsável por desenhar os personagens e cenários. Outra pessoa pra ficar responsável pelo áudio, outro pela lógica do jogo, alguém no banco de dados, outro para tratar a parte online do jogo.

Agora imagine tudo isso, num bloco só de código.
Não dá.

Módulo menu.py

Ao iniciar seu jogo, deve aparece o menu para escolher modo de jogo, mapa, personagens etc. Tudo isso deve ficar no módulo menu.py, que vai ficar responsável por exibir os menus de opções.

Por exemplo, para aparecer o menu inicial, damos o comando:
menu.iniciar()

Ou seja, a função iniciar() do módulo menu.py é executada.
Depois, o menu de personagens:
menu.personagens()

Agora, os mapas: menu.mapas()

Ou seja, basta colocarmos um ponto . e em seguida rodar a função correta. 

Módulo audio.py

A solução é simples, usar módulo.

Pegue a equipe de sonoplastia, e deixem eles criarem o módulo audio.py, que vai ter uma porção de funções.

Por exemplo, para rodar o som do mar, basta dar o comando:
audio.som_mar()

Pronto, foi invocada a função som_mar(), dentro do módulo audio.py

Módulo video.py

Você vai precisar de uma boa equipe responsável pela qualidade visual do game.

Camadas, detalhes dos personagens, do mapa etc.
Um bom grupo de programadores vai se dedicar única e exclusivamente a parte gráfica.

Mas eles te explicaram todas as funções que o módulo video.py tem, então para detectar a resolução correta, basta rodarmos a função resolucao() do módulo video.py

Fazemos isso assim:
video.resolucao()

E prontinho, a resolução é detectada e carregada corretamente.

Módulo logica.py

Um personagem da infantaria, com espada e escuto é lento, porém as flechas dos arqueiros ferem ele muito pouco.

Porém se uma catapulta atirar em sua direção, muitos morrem.
Talvez seja interessante mandar a cavalaria ir na frente, destruir essas catapultas, mas tendo cuidado para não serem pegos pelos arqueiros, que atiram de longe.

Pessoal, isso tudo é lógica. Envolve Matemática (escudo aguenta 4 golpes por segundo, ele dá o golpe de espada a cada 2s, se você evoluir seu treinamento, ele luta mais rápido e desfere mais fortemente os golpes), vários cálculos.

Deixa que a equipe de lógica faz essa parte do código e coloca tudo no módulo logica.py, então para iniciar uma batalha, basta rodar:
logica.batalha_iniciar()

Ficou claro a função dos módulos?
São arquivos com trechos de códigos relacionados, organizam nosso projeto, fica mais fácil de criar programas maiores.

No tutorial seguinte, vamos te ensinar como criar e usar melhor seus módulos Python.