コード例 #1
0
def multiplicacao_matriz():
    ler_cabecalho('multiplicação de matrizes')
    #definindo ordem das matrizes
    print('Matriz A')
    Ai, Aj = linha_coluna()
    print()
    print('Matriz B')
    Bi, Bj = linha_coluna()
    print()
    if Aj == Bi:
        #construindo as matrizes
        print('Construindo a matriz A')
        A = construir_matriz(Ai, Aj)
        print()
        print('Construindo a matriz B')
        B = construir_matriz(Bi, Bj)
        print()
        #imprimindo as matrizes
        sleep(0.5)
        print('Matriz A')
        imprimir_matriz(A, Ai, Aj)
        print()
        sleep(0.5)
        print('Matriz B')
        imprimir_matriz(B, Bi, Bj)
        resultado = efetuar_multi_matriz(A, B)
        #imprimindo a multiplicação
        sleep(0.5)
        print('\nResultado da multiplicação de matrizes:')
        imprimir_matriz(resultado, Ai, Bj)
    else:
        print('Não é possível multiplicar as matrizes. O número de colunas da Matriz A deve ser igual ao número de linhas da Matriz B.')
        sleep(0.5)
    print()
コード例 #2
0
def somar_matrizes():
    ler_cabecalho('soma duas matrizes')
    #definindo a ordem das matrizes 
    print('Matriz A')
    Ai, Aj = linha_coluna()
    print()
    print('Matriz B')
    Bi, Bj = linha_coluna()
    print()
    #verificando se são de mesma ordem
    if Ai == Bi and Aj == Bj:
        #construindo as matrizes
        print('Construindo matriz A')
        A = construir_matriz(Ai, Aj)
        print('\nConstruindo matriz B')
        B = construir_matriz(Bi, Bj)
        print()
        #imprimindo as matrizes
        sleep(0.5)
        print('Matriz A:')
        imprimir_matriz(A, Ai, Aj)
        print()
        sleep(0.5)
        print('Matriz B:')
        imprimir_matriz(B, Bi, Bj)
        print()
        resultado = efetuar_soma_matrizes(A, B)
        #imprimindo a soma
        sleep(0.5)
        print('\nResultado da soma:')
        imprimir_matriz(resultado, Ai, Aj)
    else:
        print('Não é possível somar: As matrizes devem ser de mesma ordem.')
        sleep(0.5)
    print()
コード例 #3
0
def hipo():
    ler_cabecalho('lados de um triângulo retângulo')
    sleep(0.5)
    print('''
    0- sair
    1- hipotenusa
    2- cateto
    '''
    )
    escolha = ler_num_int('O que deseja calcular? ')
    print()
    if escolha == 1:
        b = ler_num_float('Digite o 1º Cateto: ')
        c = ler_num_float('Digite o 2º Cateto: ')
        #a = sqrt(b**2 + c**2)
        a = hypot(b, c)
        sleep(0.5)
        print(f'O valor da Hipotenusa é: {a:.2f}')
    elif escolha == 2:
        a = ler_num_float('Digite a Hipotenusa: ')
        b = ler_num_float('Digite o Cateto: ')
        c = calcular_cateto(a, b)
        sleep(0.5)
        print(f'O valor do outro Cateto é: {c:.2f}')
    else:
        pass
    print()
コード例 #4
0
def verificar_triangulo():
    ler_cabecalho('VERIFICA SE É TRIÂNGULO')
    lado1 = ler_num_float("Digite o 1º lado do triângulo: ")
    lado2 = ler_num_float("Digite o 2º lado do triângulo: ")
    lado3 = ler_num_float("Digite o 3º lado do triângulo: ")
    print()
    sleep(0.5)
    #verificando se a soma de dois lados quaisquer é maior do que o terceiro lado
    if lado2+lado3 > lado1 and lado1+lado3 > lado2 and lado1+lado2 > lado3:
        #verificando se possui os 3 lados iguais
        if lado1 == lado2 and lado2 == lado3:
            #função print retorna uma string na tela
            print('Triângulo Equilátero: três lados iguais.')
            sleep(0.5)
        #verificando se possui 2 lados iguais
        elif lado1 == lado2 or lado1 == lado3 or lado2 == lado3:
            print('Triângulo Isósceles: quaisquer dois lados iguais.')
            sleep(0.5)
        else:
            print('Triângulo Escaleno: três lados diferentes.')
            sleep(0.5)
    else:
        print('Esses valores não formam um triângulo.')
        sleep(0.5)
    print()
コード例 #5
0
def primo():
    ler_cabecalho('número primo')
    n = ler_num_nat("Digite um número inteiro: ")
    resultado = verificar_primo(n)
    if resultado:
        print('É PRIMO!')
    else:
        print("não é primo")
    print()
コード例 #6
0
def bases():
    ler_cabecalho('BASES BINÁRIA, OCTAL E HEXADECIMAL')
    num = ler_num_int('Digite um número inteiro: ')
    sleep(0.5)
    print(f'Em binário: {bin(num)[2:]}')
    sleep(0.5)
    print(f'Em octal: {oct(num)[2:]}')
    sleep(0.5)
    print(f'Em hexadecimal: {hex(num)[2:]}')
    sleep(0.5)
    print()
コード例 #7
0
def ler_arquivo(nome):
    try:
        a = open(nome, 'rt')
    except:
        print('ERRO ao ler o arquivo')
    else:
        ler_cabecalho('Pessoas cadastradas:')
        for linha in a:
            dado = linha.split(';')
            dado[1] = dado[1].replace('\n', '')
            print(f'{dado[0]:<30}{dado[1]:>3} anos')
    finally:
        a.close()
コード例 #8
0
def razao_trigon():
    ler_cabecalho('SENO COSSENO TANGENTE')
    numero = ler_num_float('Digite um ângulo: ')
    #radians() convertendo float para radianos
    seno = sin(radians(numero))
    cosseno = cos(radians(numero))
    tangente = tan(radians(numero))
    sleep(0.5)
    print(f'O seno é {seno:.2f}')
    sleep(0.5)
    print(f'O cosseno é {cosseno:.2f}')
    sleep(0.5)
    print(f'A tangente é {tangente:.2f}')
    print()
コード例 #9
0
def equacoes():
    ler_cabecalho('equação do 2º grau')
    print('''
    0- sair
    1- determinar raízes de uma equação do 2º grau
    2- determinar a equação do 2º grau
    ''')
    opcao = ler_num_int('Escolha uma das opções: ')
    print()
    if opcao == 1:
        equacao_seg_grau()
    elif opcao == 2:
        raizes()
    else:
        pass
コード例 #10
0
def radiciar():
    ler_cabecalho('radiciação')
    indice = ler_indice('Índice da raiz: ')
    radicando = ler_num_float('Radicando: ')
    #retorna negativo se índice ímpar e radicando negativo
    if radicando < 0 and indice % 2 == 1:
        radicando *= -1
        raiz = radicando**(1 / indice)
        return round(raiz * -1, 5)

    elif indice % 2 == 0 or indice % 2 == 1:
        raiz = radicando**(1 / indice)
        return round(raiz, 5)

    else:
        return 'Não é possível calcular a raiz dentro dos Reais.'
コード例 #11
0
def fibo():
    ler_cabecalho('sequência fibonacci')
    num = ler_num_nat('Quantos termos você quer mostrar? ')
    if num == 1:
        print('0')
    elif num > 0:
        t1 = 0
        t2 = 1
        print(f'{t1} -> {t2}', end='')
        i = 3
        while i <= num:
            tn = t1 + t2
            print(f' -> {tn}', end='')
            t1 = t2
            t2 = tn
            i += 1
    print()
コード例 #12
0
def fatorial():
    ler_cabecalho('fatorial')
    num = ler_num_nat('Digite um número natural: ')
    print()
    print(f'Calculando {num}!')
    i = num
    f = 1
    while i > 0:
        if i > 1:
            print(f'{i} x ', end='', flush=True)
            sleep(0.5)
        else:
            print(f'{i} = ', end='', flush=True)
            sleep(0.5)
        f *= i
        i -= 1
    sleep(0.5)
    print(f)
    return f
コード例 #13
0
def pa():
    ler_cabecalho('progressão aritmética')
    A1 = ler_num_float('Primeiro termo: ')
    r = ler_num_float('Razão: ')
    i = 1
    An = A1
    termo = 10
    total_termos = 10
    while termo != 0:
        while termo > 0:
            print(f'{An:.2f}', end=' -> ', flush=True)
            An = A1 + i * r
            i += 1
            termo -= 1
            sleep(0.5)
        print('pausa')
        print('Digite 0 para encerrar.')
        termo = ler_num_nat('Quantos termos deseja mostrar? ')
        total_termos += termo
    print(f'Total de termos mostrados: {total_termos}\n')
コード例 #14
0
def tipo_matriz():
    ler_cabecalho('Matrizes')
    print('''
    0- sair
    1- Somar duas matrizes
    2- Subtrair duas matrizes
    3- Multiplicação de uma matriz por um número real
    4- Multiplicação de matrizes
    ''')
    opcao = ler_num_int('Escolha uma das opções: ')
    print()
    if opcao == 1:
        somar_matrizes()
    elif opcao == 2:
        subtrair_matrizes()
    elif opcao == 3:
        multiplicacao_real()
    elif opcao == 4:
        multiplicacao_matriz()
    else:
        pass
コード例 #15
0
def multiplicacao_real():
    ler_cabecalho('multiplicação por um número real')
    #definindo a ordem das matrizes
    print('Matriz A')
    Ai, Aj = linha_coluna()
    print()
    num = ler_num_float('Digite um número que deseja multiplicar: ')
    print()
    #construindo a matriz
    print('Construindo matriz A')
    A = construir_matriz(Ai, Aj)
    print()
    #imprimindo a matriz
    sleep(0.5)
    print('Matriz A:')
    imprimir_matriz(A, Ai, Aj)
    sleep(0.5)
    resultado = efetuar_multi_real(A, num)
    #imprimindo a multiplicação por real
    sleep(0.5)
    print('\nResultado da multiplicação por número real:')
    imprimir_matriz(resultado, Ai, Aj)
    print()
コード例 #16
0
def tipo_tabuada():
    ler_cabecalho('tabuadas')
    num = ler_num_float('Digite um número: ')
    print('''
    0- sair
    1- tabuada de somar
    2- tabuada de subtrair
    3- tabuada de multiplicar
    4- tabuada de dividir
    ''')
    opcao = ler_num_int('Escolha uma das opções: ')
    print()

    if opcao == 1:
        tab_somar(num)
    elif opcao == 2:
        tab_subtrair(num)
    elif opcao == 3:
        tab_multiplicar(num)
    elif opcao == 4:
        tab_dividir(num)
    else:
        pass
コード例 #17
0
            ano = int(input(data_ano))
            #limitando o ano de 1900 até o ano atual
            if ano < 1900 or ano > ano_atual:
                raise Exception(f'ano de 1900 a {ano_atual}.')
        except ValueError:
            print('Digite um tipo válido.')
            continue
        except Exception as erro:
            print(f'Valor inválido: {erro}')
            continue
        else:
            return ano


#programa principal
ler_cabecalho('digite a data completa do seu nascimento')
while True:
    mes = ler_mes('Mês: ')
    if mes == 2:
        dia = ler_dia_fev('Dia: ')
    elif mes == 4 or mes == 6 or mes == 9 or mes == 11:
        dia = ler_dia_30('Dia: ')
    else:
        dia = ler_dia_31('Dia: ')
    mes_str = nome_mes(mes)
    ano = ler_ano('Ano: ')
    print()
    print(f'Você nasceu em: {dia} de {mes_str} de {ano}')
    print()
    resposta = ler_resposta('Deseja continuar? [S/N]')
    if resposta == 'N':
コード例 #18
0
            continue
        else:
            return num


def cf(valor):
    f = ((valor * 9) / 5) + 32
    print(f'A temperatura em graus Farenheit é {f:.2f}')


def fc(valor):
    c = (5 * (valor - 32) / 9)
    print(f'A temperatura em graus Celsius é {c:.2f}')


ler_cabecalho('CONVERSÃO DE TEMPERATURAS')
while True:
    print('Digite 1 para converter de Celsius para Farenheit')
    print('Digite 2 para converter de Farenheit para Celsius')
    resposta = opcao('Qual conversão gostaria de fazer? ')
    if resposta == 1:
        valor = ler_num_float('Digite a temperatura em Celsius: ')
        cf(valor)
    elif resposta == 2:
        valor = ler_num_float('Digite a temperatura em Farenheit: ')
        fc(valor)
    print()
    resposta = ' '
    while resposta not in 'SN':
        resposta = ler_resposta('Deseja continuar? [S/N] ')
    print()
コード例 #19
0
#!/usr/bin/env python3.8
'''
Usuário fornece um número em radianos e programa retorna os valores de seno, cosseno e tangente.
'''

import sys
sys.path.append('/home/danielle8farias/hello-world-python3/meus_modulos')
from mensagem import ler_cabecalho, rodape, linha, ler_resposta
from math import radians, sin, cos, tan
from numeros import ler_num_float

#programa principal
ler_cabecalho('SENO COSSENO TANGENTE')
while True:
    numero = ler_num_float('Digite um ângulo: ')
    #radians() convertendo float para radianos
    seno = sin(radians(numero))
    cosseno = cos(radians(numero))
    tangente = tan(radians(numero))
    print(f'O seno é {seno:.2f}')
    print(f'O cosseno é {cosseno:.2f}')
    print(f'A tangente é {tangente:.2f}')
    print()
    resposta = ler_resposta('Deseja continuar? [S/N]')
    print()
    if resposta == 'N':
        break
    else:
        linha()
        print()
rodape()
コード例 #20
0
            nota = float(input(n))
            #verificando se a nota está fora do intervalo entre 0 e 10
            if nota < 0 or nota > 10:
                raise Exception('Valores entre 0 e 10.')
        except ValueError:
            print('Digite um número.')
            continue
        except Exception as erro1:
            print(f'Valor inválido: {erro1}')
            continue
        else:
            return nota


#programa principal
ler_cabecalho('média das notas')
while True:
    total_notas = ler_num_int('Quantas notas deseja informar? ')
    lista_notas = []
    i = 1
    for i in range(i, total_notas + 1):
        nota = lancar_notas(f'{i}ª nota: ')
        lista_notas.append(nota)
    media = calcular_media(lista_notas)
    print(f'Média das notas: {media:.1f}')
    if media >= 6:
        print('Sua média foi boa. Parabéns!')
    else:
        print('Sua média foi ruim. Estude mais.')
    print()
    resposta = ler_resposta('Deseja continuar? [S/N]')
コード例 #21
0
def exponenciar():
    ler_cabecalho('exponenciação')
    base = ler_num_float('Digite o número da base: ')
    expo = ler_num_int('Digite o número do expoente: ')
    return pow(base, expo)
コード例 #22
0
#!/usr/bin/env python3.8
'''
Usuário fornece um número inteiro e programa retorna a tabuada de multiplicação desse. 
Com validação de dados.
'''

import sys
sys.path.append('/home/danielle8farias/hello-world-python3/meus_modulos')
from mensagem import ler_cabecalho, rodape, linha, ler_resposta
from numeros import ler_num_int

ler_cabecalho('tabuada de multiplicação')
while True:
    num = ler_num_int('Digite um número inteiro: ')
    print()
    for i in range(0, 11):
        multiplicacao = num * i
        print(f'{num} x {i:2} = {multiplicacao}')
    print()
    resposta = ler_resposta('Deseja continuar? [S/N]')
    print()
    if resposta == 'N':
        break
    else:
        linha()
        print()
rodape()
コード例 #23
0
    for i in range(len(matriz)):
        sleep(0.5)
        #percorrendo as colunas
        for j in range(len(matriz[0])):
            print(f'[{matriz[i][j]:^7}]', end='', flush=True)
        print()


def lendo_matriz(nome):
    try:
        a = open(nome, 'rt')
    except:
        print('ERRO! Não foi possível abrir o arquivo')
    else:
        matriz = []
        linha = a.readline()
        while linha != "":
            elementos = linha.split()
            for i in range(len(elementos)):
                elementos[i] = float(elementos[i])
            matriz.append(elementos)
            linha = a.readline()
        a.close()
        imprimir_matriz(matriz)


ler_cabecalho('abrindo matriz de um arquivo')
arquivo = 'matriz4x5.txt'
lendo_matriz(arquivo)
rodape()
コード例 #24
0
def tab_somar(n):
    ler_cabecalho('tabuada de soma')
    for i in range(1, 10):
        print(f'{n:4} + {i} = {n+i}')
        sleep(0.5)
    print()
コード例 #25
0
########
# autora: [email protected]
# repositório: https://github.com/danielle8farias
# Descrição: Usuário informa uma palavra ou frase e programa retorna se ela é um palíndromo.
########

from mensagem import ler_cabecalho, criar_rodape, criar_linha, ler_resposta
from tratar_mensagem import ler_frase

ler_cabecalho('palíndrimo')

while True:
    msg = ler_frase('Digite uma frase: ')
    msg_inverso = ''
    tamanho = len(msg)

    # início: tamanho-1; para ir do último caractere a 0
    # fim: -1; para ir até a última string
    # passo: -1; decrescendo
    for letra in range(tamanho - 1, -1, -1):
        # concatenando cada caractere detrás pra frente
        msg_inverso += msg[letra]

    if msg_inverso == msg:
        print('É um palíndromo!')
        print(f'O inverso da palavra é: {msg_inverso}')
    else:
        print('Não é palíndromo')
        print(f'O inverso da palavra é: {msg_inverso}')

    resposta = ' '
コード例 #26
0
    #verificando se a soma de dois lados quaisquer é maior do que o terceiro lado
    if lado2+lado3 > lado1 and lado1+lado3 > lado2 and lado1+lado2 > lado3:
        #verificando se possui os 3 lados iguais
        if lado1 == lado2 and lado2 == lado3:
            #função print retorna uma string na tela
            print('Triângulo Equilátero: três lados iguais.')
        #verificando se possui 2 lados iguais
        elif lado1 == lado2 or lado1 == lado3 or lado2 == lado3:
            print('Triângulo Isósceles: quaisquer dois lados iguais.')
        else:
            print('Triângulo Escaleno: três lados diferentes.')
    else:
        print('Esses valores não formam um triângulo.')


#programa principal
ler_cabecalho('VERIFICA SE É TRIÂNGULO')
while True:
    lado1 = ler_num_float("Digite o 1º lado do triângulo: ")
    lado2 = ler_num_float("Digite o 2º lado do triângulo: ")
    lado3 = ler_num_float("Digite o 3º lado do triângulo: ")
    verificar_triangulo(lado1, lado2, lado3)
    print()
    resposta = ' '
    while resposta not in 'SN':
        resposta = ler_resposta('Deseja continuar? [S/N] ')
    print()
    if resposta == 'N':
        break
rodape()
コード例 #27
0
import sys
sys.path.append('/home/danielle8farias/hello-world-python3/meus_modulos')
from mensagem import ler_cabecalho, rodape, ler_resposta
from numeros import ler_num_nat


#função que calcula se o ano é bissexto
def ano_bissexto(ano):
    #verificando se o ano é divisível por 4
    #e se o ano não é divisível por 100
    #ou se o ano é divisível por 400
    if ano % 4 == 0 and ano % 100 != 0 or ano % 400 == 0:
        print(f'O ano {ano} é bissexto.')
    else:
        print(f'O ano {ano} NÃO é bissexto.')


#programa principal
ler_cabecalho('ANO BISSEXTO')
while True:
    ano = ler_num_nat('Informe o ano: ')
    ano_bissexto(ano)
    print()
    resposta = ' '
    while resposta not in 'SN':
        resposta = ler_resposta('Deseja continuar? [S/N] ')
    print()
    if resposta == 'N':
        break
rodape()
コード例 #28
0
            print('Digite um número.')
            #volta para o início do laço
            continue
        #chama a exceção criada
        except Exception as erro:
            #print(f'') retorna uma string formatada na tela
            print(f'Valor inválido: {erro}')
            continue
        #se o 'try' for válido
        else:
            return escolha


#programa principal
#chamada que lê a função cabeçalho
ler_cabecalho('hipotenusa')
while True:
    print('Digite:')
    print('1 para Hipotenusa')
    print('2 para Cateto')
    #função print() vazia não retorna nada; apenas pula uma linha
    print()
    #validar resposta
    #atribui a variável 'escolha' o retorno da função
    escolha = ler_escolha('O que deseja calcular? ')
    print()
    if escolha == 1:
        b = ler_num_float('Digite o 1º Cateto: ')
        c = ler_num_float('Digite o 2º Cateto: ')
        #a = sqrt(b**2 + c**2)
        a = hypot(b, c)
コード例 #29
0
def somar():
    ler_cabecalho('soma')
    num1 = ler_num_float('Digite o 1º número: ')
    num2 = ler_num_float('Digite o 2º número: ')
    return num1 + num2
コード例 #30
0
#!/usr/bin/env python3.8
'''
Usuário digita um número natural inteiro e programa verifica se esse é número primo. Com validação de dados.
'''

import sys
sys.path.append('/home/danielle8farias/hello-world-python3/meus_modulos')
from mensagem import ler_cabecalho, rodape, ler_resposta
from numeros import ler_num_nat

ler_cabecalho('verifica se é primo')
while True:
    n = ler_num_nat("Digite um número inteiro: ")
    i = 0
    c = 0
    while i < n:
        i += 1
        if (n % i == 0):
            #esse contador serve para guardar quantos divisores o 'num' possui
            c += 1
    #verificando se o c é igual a 2
    #   isso indica que o número dado possui exatamente dois divisores; o que o classifica como primo
    if c == 2:
        print('É PRIMO!')
    else:
        print("não é primo")
    print()
    resposta = ' '
    while resposta not in 'SN':
        resposta = ler_resposta('Deseja continuar? [S/N] ')
    print()