Faça um programa que tenha uma função chamada area(), que receba as dimensões de um terreno retangular (largura e comprimento) e mostre a área do terreno:
def area(larg, comp):
a = larg * comp
print(f"A área de um terreno {larg} x {comp} é de {a}m².")
print("Controle de Terrenos")
print("-" * 20)
l = float(input("Largura (m): "))
c = float(input("Comprimento (m): "))
area(l, c)
Faça um programa que tenha uma função chamada escreva(), que receba um texto qualquer como parâmetro e mostre uma mensagem com tamanho adaptável:
def escreva(msg):
tam = len(msg) + 4
print("=" * tam)
print(f" {msg}")
print("=" * tam)
escreva("Gustavo Guanabara")
escreva("Curso de Python no Youtube")
escreva("CeV")
Faça um programa que tenha uma função chamada contador(), que receba três parâmetros (início, fim e passo) e realize a contagem. Seu programa tem que realizar três contagens através da função criada (de 1 até 10 de 1 em 1, de 10 até 0 de 2 em 2 e uma personalizada):
from time import sleep
def linhas():
print("-=" * 20)
def contador(i, f, p):
linhas()
if p < 0:
p *= -1
if p == 0:
p = 1
print(f"Contagem de {i} até {f} de {p} em {p}.")
sleep(2.5)
if i < f:
cont = i
while cont <= f:
print(f"{cont} ", end="", flush=False) # O Flush com false dá sleep no laço, com true seria na função toda
sleep(0.5)
cont += p
print("FIM!")
else:
cont = i
while cont >= f:
print(f"{cont} ", end="", flush=False)
sleep(0.5)
cont -= p
print("FIM!")
linhas()
contador(1, 10, 1)
contador(10, 0, 2)
linhas()
print("Agora é a sua vez de personalizar a contagem!\n")
ini = int(input("Início.: "))
fim = int(input("Fim....: "))
pas = int(input("Passo..: "))
contador(ini, fim, pas)
Faça um programa que tenha uma função chamada maior(), que receberá vários parâmetros com valores inteiros. Seu programa tem que analizar todos os valores e dizer qual deles é o maior:
from time import sleep
def linhas():
print("-=" * 20)
def maior(*num):
cont = maior = 0
linhas()
print("Analisando os valores passados...")
sleep(0.3)
for valor in num:
print(f"{valor} ", end="", flush=True)
sleep(0.3)
if cont == 0:
maior = valor
else:
if valor > maior:
maior = valor
cont += 1
print(f"\nForam informados {cont} valores ao todos.")
print(f"O maior valor informado foi {maior}.")
linhas()
maior(2, 9, 4, 5, 7, 1)
maior(4, 7, 0)
maior(1, 2)
maior(6)
maior()
Faça um programa que tenha uma lista chamada numeros 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 random import randint
from time import sleep
def sorteia(lista):
print("Sorteando 5 valores da lista: ", end="")
for cont in range(0, 5):
n = randint(1, 10)
lista.append(n)
print(f"{n} ", end="", flush=True)
sleep(0.3)
print("PRONTO!")
def somaPar(lista):
soma = 0
for valor in lista:
if valor % 2 == 0:
soma += valor
print(f"Somando os valores pares de {lista}, temos {soma}!")
numeros = list()
sorteia(numeros)
somaPar(numeros)
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:
def voto(ano):
from datetime import date # Escopo local de importação
atual = date.today().year
idade = atual - ano
if idade < 16:
return f"Com {idade} anos: NÃO VOTA!"
elif 16 <= idade < 18 or idade > 70:
return f"Com {idade} anos: VOTO OPCIONAL!"
else:
return f"Com {idade} anos: VOTO OBRIGATÓRIO!"
nasc = int(input("Em que ano você nasceu? "))
print(voto(nasc))
Crie um programa que tenha uma função fatorial() que receba dois parâmetros: O primeiro que indique o número a calcular e o outro chamado show, que será um valor lógico opcional, indicando se será mostrado ou não na tela o processo de cálculo de fatorial:
def fatorial(n, show=False):
"""
-> Calcula o fatorial de um número.
:param n: O número a ser calculado.
:param show (opcional): Mostrar ou não a conta.
:return: O valor do fatorial do número n.
"""
f = 1
for c in range(n, 0, -1):
if show:
print(c, end="")
if c > 1:
print(" x ", end="")
else:
print(" = ", end="")
f *= c
return f
print(fatorial(5, show=True))
help(fatorial)
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 corretamente:
def ficha(jog = "", gol = 0):
print(f"O jogador {jog} fez {gol} gols no campeonato.")
n = str(input("Nome do jogador: "))
g = str(input("Número de gols: ")) # É str mesmo
if g.isnumeric():
g = int(g)
else:
g = 0
# Outra condição:
if n.strip() == "":
ficha(gol = g)
else:
ficha(n, g)
Crie um programa que tenha a funcao 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:
def leiaInt(msg):
ok = False
valor = 0
while True:
n = str(input(msg))
if n.isnumeric():
valor = int(n)
ok = True
else:
print("\033[0;31mERRO! Digite um número inteiro válido!\033[m")
# Outra condição
if ok:
break
return valor
n = leiaInt("Digite um número: ")
print(f"Você acabou de digitar o número {n}.")
Faça um programa que tenha uma função chamada 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 e a situação (opcional). Adicione também as docstrings de função:
def notas(*n, sit = False):
"""
-> Função para analisar notas e situações de vários alunos.
:param n: Uma ou mais notas dos alunos (aceita várias).
:param sit: Valor opcional, indicando se deve ou não adicionar a situação.
:return: Dicionário com várias informações sobre a situação da turma.
"""
r = dict()
r["total"] = len(n)
r["maior"] = max(n)
r["menor"] = min(n)
r["media"] = sum(n) / len(n)
if sit:
if r["media"] >= 7:
r["situacao"] = "BOA"
elif r["media"] >= 5 and r["media"] < 7:
r["situacao"] = "RAZOÁVEL"
else:
r["situacao"] = "RUIM"
return r
resp = notas(5.5, 2.5, 8.5, sit = True)
print(resp)
help(notas)
Faça um mini-sistema que utilize o interactive help do Python. O usuário vai digitar o comando e o manual vai aparecer. Quando o usuário digitar a palavra FIM, o programa se encerrará. Use cores:
from time import sleep
c = ("\033[m", # 0 - sem cores
"\033[0;30;41m", # 1 - vermelho
"\033[0;30;42m", # 2 - verde
"\033[0;30;43m", # 3 - amarelo
"\033[0;30;44m", # 4 - azul
"\033[0;30;45m", # 5 - roxo
"\033[7;30m", # 6 - branco
)
def ajuda(com):
titulo(f"Acessando o manual do comando \"{com}\"", 4)
print(c[6], end="")
help(com)
print(c[0], end="")
sleep(2)
def titulo(msg, cor = 0):
tam = len(msg) + 4
print(c[cor], end="")
print("~" * tam)
print(f" {msg}")
print("~" * tam)
print(c[0], end="")
sleep(1)
comando = ""
while True:
titulo("SISTEMA DE AJUDA PYHELP", 2)
comando = str(input("Função ou Biblioteca > "))
if comando.upper() == "FIM":
break
else:
ajuda(comando)
titulo("ATÉ LOGO!", 1)