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()
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()
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()
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()
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()
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()
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()
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()
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
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.'
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()
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
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')
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
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()
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
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':
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()
#!/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()
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]')
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)
#!/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()
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()
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()
######## # 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 = ' '
#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()
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()
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)
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
#!/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()