Jump to content
Juliana Mesquita

TypeError: string indices must be integers

Recommended Posts

File "D:/..... - funcao/6.py", line 50, in adicionar_time
    time.append(time_1,time_2[faltas_1,faltas_2])
TypeError: string indices must be integers

'''6. Refaça o exercício 1 da aula de manipulação de listas,
usando uma função para calcular o total de faltas do
campeonato, outra para calcular o time que fez mais faltas, e
uma terceira para calcular o time que fez menos faltas.
Antes de chamar essas funções, o programa deve permitir
que o usuário adicione mais jogos ao campeonato.
1. Faça um programa que percorre uma lista com o seguinte formato: [['Brasil', 'Italia', [10, 9]],
['Brasil', 'Espanha', [5, 7]],['Italia', 'Espanha', [7,8]]]. Essa lista indica o número de faltas
que cada time fez em cada jogo. Na lista acima, no jogo entre Brasil e Itália, o Brasil fez 10 faltas
 e a Itália fez 9. O programa deve imprimir na tela:
(a) o total de faltas do campeonato
(b) o time que fez mais faltas
(c) o time que fez menos faltas'''

time = [['Brasil', 'Italia', [10, 2]],['Brasil', 'Espanha', [5, 7]],['Italia', 'Espanha', [7,8]]]
continuar = 's'

def menos_faltas (time):
    menor = time[0][2][0]
    for i in range(len(time)):
        for j in range(2):
             if time[i][2][j]<menor:
                 menor = time[i][2][j]
                 time_menor = time[i][j]
    return time_menor

def mais_faltas (time):
    time_maior = time[0][0]
    maior = time[0][2][0]
    for i in range(len(time)):
        for j in range(2):
             if time[i][2][j]>maior:
                 maior = time[i][2][j]
                 time_maior = time[i][j]
    return time_maior

def total_faltas (time):
    soma = 0
    for i in range(len(time)):
        for j in range(2):
            soma += time[i][2][j]
    return soma


def adicionar_time (time):
    time_1 = input('Digite o nome do primeiro time : ')
    faltas_1 = int(input('Digite faltas do primeiro time : '))
    time_2 = input('Digite o nome do segundo time : ')
    faltas_2 = int(input('Digite faltas do segundo time : '))
    time.append(time_1,time_2[faltas_1,faltas_2])
    return (time)

while continuar in ['s','S','Sim','sim']:
    adicionar = input('Deseja adicionar mais um time a lista : ')
    if adicionar in ['s','S','Sim','sim']:
        adicionar_time(time)
        continuar = input(' Deseja adicionar outro time ? : ')

print(' Total de falta = ',total_faltas(time),' \n Maior quantidade de faltas = ',mais_faltas(time),' \n Menor quantidade de faltas = ',menos_faltas(time))


Gostaria de ajuda para solucionar esse erro;

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 Icaro Luan
      error
    • By FMonteiro
      Estou com um problema na chamada de uma função criada em uma classe. 
      Ao fazer a chamada da função, recebo uma mensagem de que a função não existe. 
      A mensagem de erro é: 
      "Fatal error: Uncaught Error: Call to undefined function EXECUTAR() in C:\...\cls_bd.php:154 Stack trace: #0 C:\...\cls_mail.php(99): bd->INSERIR('tbmensagens', 'data,hora,nome,...', 'DATE_FORMAT((se...', NULL) #1 C:\...\cls_mail.php(108): GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #2 C:\...\cls_contato.php(31): ENVIAR_GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #3 {main} thrown in C:\...\cls_bd.php on line 154"
      Na foto em anexo, há o script criado com a chamada da função (linha 154) e da função criada (linha 123).
      Será que alguém pode jogar uma luz no assunto para mim?

    • By VCastilho
      Bom Dia
      Consegui da seguinte forma, mas com faço para que o código selecionado substitua o antigo?

       
      <!DOCTYPE html> <html> <body> <style> #filtrotopo { background: #484949; } } #h4topo { text-align: center; color: white; font-size: 18px; } #form1 section { display: flex; flex-wrap: wrap; justify-content: center; } h4 { } #form1 section label { display: flex; justify-content: center; align-items: center; margin: 0 10px; /* width: calc(100% / 5); */ color: red; text-align: center; } @media screen and (max-width:768px) { #form1 section label { margin-bottom: 20px; width: 100%; } } </style> <div id="minhaEscolha"></div> <div id = "filtrotopo"> <h4 style="text-align: center;" id="h4topo">Personalize</h4> <form action="#" id="form1"> <section> <label> <button onclick="exemplo1()"> exemplo1</button> </label> <label> <button onclick="exemplo2()"> exemplo2 </button> </label> </section> </form> <br> </div> <div id="teste1" style="display: none;"> <h3>Texto 1</h3> <p>Sou o Texto 1</p> <p>Tenho o nome de Texto 1</p> </div> <script> function exemplo1() { var x = document.getElementById("url"); var y = document.getElementById("minhaEscolha"); y.innerHTML = x.innerHTML; } </script> <script> function exemplo2() { var x = document.getElementById("teste1"); var y = document.getElementById("minhaEscolha"); y.innerHTML = x.innerHTML; } </script> <body> </html>  
    • By Matheus Guermandi Ribeiro
      tabela Chamado
          idChamado
          dataChamado,
          statusChamado,
          descricaoChamado,
          tituloChamado,
          idChamadoPai,
          idRemetente,
          idDestinatario
       
      function historicoChamado($idChamdoFilho) {
          static $ArrayIdChamadoPai = array();
          global $link;
          $cmdAux = "SELECT
                 idChamadoPai
                 FROM Chamado 
                 WHERE idChamado = '$idChamdoFilho'";
          $resultAux = mysqli_query($link, $cmdAux);
          $dadosAux = mysqli_fetch_array($resultAux);
          $idChamadoPai = $dadosAux['idChamadoPai'];
          if ($idChamadoPai != NULL) {
              array_unshift($ArrayIdChamadoPai, $idChamadoPai);
              historicoChamado($idChamadoPai);
          } else {
              return $ArrayIdChamadoPai;
          }
      }
       
       
       
      Preciso que esse array retorno todos os idChamadoPai. Já tentei colocar o ArrayIdChamadoPai como global mais tbm não funciona. Quem puder ajudar salvaria muito 
    • By alyssonw2silva
      Sou novo aqui e estou com o seguinte código 
      function buscar($query) { include_once 'conn.php'; if ($resulte2 = mysqli_query($conn, $query)) { while($row2 = mysqli_fetch_array($resulte2)) { print "<option value='".$row2[0]."'>".$row2[1]."</option>"; }; }; ele e para preencher os campos do meu select está funcionando mas como tenho outro select o primeiro roda agora o segundo da erro quando eu desabilito o primeiro  o segundo select e preenchido 
       
      estou chamando a mesma função para ambos os selects mas o parâmetro $query e diferente 
       
×

Important Information

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