Jump to content
silver sanths

ajuda em script python

Recommended Posts

Como faço para retornar as notas da função cadastrar,  para a calcular a media dentro da função listar_notas?

 

 

import subprocess
def cadastrar():
    nota1 = float(input("Nota I: "))
    nota2 = float(input("Nota II: "))
    nota3 = float(input("Nota III: "))
    nota4 = float(input("Nota IV: "))

    arquivo = open('teste.txt', 'a')
    arquivo.write('{},{},{},{}\n'.format(nota1, nota2, nota3, nota4))
    arquivo.close()
    
    subprocess.run(["notepad" , "teste.txt"])
    
def listar_notas():
    
    arquivo = open('teste.txt', 'r')
    linhas = arquivo.readlines()
    arquivo.close()
    print("{:20}{:20}{:20}{:20}".format("Nota I", "Nota II", "Nota III", "Nota IV"))
    
    for linha in linhas:
        nota1, nota2, nota3, nota4 = linha.strip().split(",")
        print("{:20}{:20}{:20}{:20}".format(nota1, nota2, nota3, nota4))
        

while True:
    print('\n1. Cadastrar Notas')
    print('2. Listar Notas | Media')
    print('3. Sair')
    opcao = int(input())
    if opcao == 1:
        cadastrar()
    if opcao == 2:
        listar_notas()
    if opcao == 3:    
        break
 

Share this post


Link to post
Share on other sites

Oi, blz, espero que ajude, não sei se é exatamente isto que você precisa

 

 

import subprocess


def cadastrar():
    print('='*30)
    print('Inclusão de Notas:')
    nota1 = float(input('Nota I: '))
    nota2 = float(input('Nota II: '))
    nota3 = float(input('Nota III: '))
    nota4 = float(input('Nota IV: '))
    media = (nota1 + nota2 + nota3 + nota4) / 4

    arquivo = open('teste.txt', 'a')
    arquivo.write(f'{nota1},{nota2},{nota3},{nota4},{(media):.1f}\n')   #.format(nota1, nota2, nota3, nota4, media))
    arquivo.close()
    #subprocess.run(['notepad', 'teste.txt'])

def listar_notas():
    arquivo = open('teste.txt', 'r')
    linhas = arquivo.readlines()
    arquivo.close()
    print('=' * 91)
    print('{:20}{:20}{:20}{:20}{:20}'.format('Nota I', 'Nota II', 'Nota III', 'Nota IV', 'Média Geral'))
    print('=' * 91)
    for linha in linhas:
        nota1, nota2, nota3, nota4, media = linha.strip().split(',')
        print(f'{(nota1):20}{(nota2):20}{(nota3):20}{(nota4):20}{(media)}')
        #print('{:20}{:20}{:20}{:20}{}'.format(nota1, nota2, nota3, nota4, media))

while True:
    print('='*30)
    print('''=   1. Cadastrar Notas       =
=   2. Listar Notas | Media  =
=   3. Sair                  = ''')
    print('=' * 30)
    opcao = int(input('Digite sua opção: '))
    if opcao == 1:
        cadastrar()
    elif opcao == 2:
        listar_notas()
    elif opcao == 3:
        print('Programa Finalizado pelo Usuário!!!')
        print('==//'*7)
        exit()
    else:
        print('     OPÇÃO INVÁLIDA!!!\n'
              '    TENTE NOVAMENTE!!!')

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Hodol
      Boa tarde, estou começando a programar e ainda não sei qual linguagem de programação eu devo iniciar. Me de uma luz, Obrigado!
    • By lucascastoria
      Procuro um profissional para desenvolver um sistema de compra em phyton.
      Interessados, favor me contatar pois explicarei melhor.
      Obrigado
    • By g.dmatos
      Preciso desenvolver um algoritmo no Visualg, da função y=3x+8, onde, a partir da informação de um valor para a variável independente x, o sistema automaticamente informe o valor da variável dependente y.
       
      porém quando vou executar da erro no código:
      var x, y: real inicio escreval("Digite o valor do coeficiente x") leia(x) Escreval ("O valor da conta é igual a:" + y) Leia (y) y=(3.x)+8 fimdoalgoritmo  
    • By mamotinho
      Olá, estou com dúvidas , eu tenho a seguinte execução 
       
      SELECT SUM(Cash) as soma FROM CashAccount Eu estou querendo pega o resultado desta consulta em PHP
      tipo
       
      $result = $pdo->query("SELECT SUM(Cash) as soma FROM CashAccount"); echo $result; Mais não sei como fazer aparece o mesmo resultado que é exibido quando eu faço a execução da query no SQL, por favor alguém poderia me informar como eu poderia está fazendo.
    • By marcelojoss
      //O valor na média (resposta) sai muito diferente, gostaria de corrigir o código próximo  a lógica que ele está.
       
       
      #include <stdio.h>
      #include <stdlib.h>
      #include <locale.h>
      double media(int vetor[], int tamanho)
      {
          float soma = 0, media = 0;
          int i = 0;
          for(i = 0; i<tamanho; i++)
          {
              soma+=vetor;
          }
          media = soma / tamanho;
          return media;
      }

      int main()
      {
          setlocale(LC_ALL, "Portuguese");
          int i, x;
          float soma;
          printf("Qual o tamanho do vetor ?\n");
          scanf("%d", &x);
          double vet[x];
          for ( i = 0; i < x; i++ )
          {
              printf ( "Valor na %d posição:\n", i +1 );
              scanf("%lf", &vet[i + 1]);
              printf("%lf",vet[i + 1]);
              soma = soma  + (vet[i + 1]);
          }
          printf("\n %f", soma);
          float resposta = media(vet, x);
          printf ("A média é: %.2f \n", resposta);
          system ("pause");
          return 0;
      }
       
        
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.