Dúvida questão 95

Home Fóruns Python Dúvida questão 95

Visualizando 2 respostas da discussão
  • Autor
    Posts
    • #66101

      Queria entender porque da erro nesta parte:

      for j in jogadores:
      print(f'{j[“cod”]:>4}{j[“nome”]:<10}{j[“gols”]:<10}{j[“total”]:<5}’)

      Código inteiro:

      jogador = dict()
      gols = list()
      jogadores = list()
      cod = 0
      while True:
          jogador['cod'] = cod
          cod += 1
          jogador['nome'] = str(input('Nome do jogador: '))
          jogador['partidas'] = int(input(f'Quantas partidas {jogador["nome"]} jogou? '))
          soma = 0
          for c in range(0, jogador['partidas']):
              numgols = int(input(f'Quantos gols na partida {c}? '))
              soma += numgols
              gols.append(numgols)
          jogador['gols'] = gols[:]
          gols.clear()
          jogador['total'] = soma
          soma -= soma
          jogadores.append(jogador.copy())
          cont = str(input('Quer continuar? [S/N] '))
          if cont in 'Nn':
              break
      print('-='*35)
      print(f'cod {"nome":<10}{"gols":<10}total')
      print('-'*30)
      print(jogadores)
      for j in jogadores:
          print(f'{j["cod"]:>4}{j["nome"]:<10}{j["gols"]:<10}{j["total"]:<5}')
      while True:
          m = int(input('Mostrar dados de qual jogador? '))
          for c in range(0, jogadores[m]['partidas']):
              print(f'     => Na partida {c}, fez {jogadores[m]["gols"][c]} gols.')
          print(f'Foi um total de {jogadores[m]["total"]} gols.')
      • Este tópico foi modificado 3 anos, 6 meses atrás por IcaroFilho.
    • #66102

      O aninhamento está todo certo, não consegui escrever certo aqui

      • #66186
        Tutora Mayla
        Mestre

        Gustavo, como dito o problema está nesta linha print(f'{j["cod"]:>4}{j["nome"]:<10}{j["gols"]:<10}{j["total"]:<5}'), ele ocorre pois gols é uma lista, logo não consegue ser printada desta forma. Bata adicionar a transformação para string, ficando assim {str(j["gols"]):<10} que funcionará.

        Espero ter ajudado, quaisquer outras dúvidas estamos a disposição.

    • #66112
      IcaroFilho
      Moderador

      Boa tarde Gustavo.
      1- A variável jogadores é uma lista. vc esta chamando com keys (dicionário) em vez de index.

      2- Quando vc copiar da sua IDE para o forum siga o seguinte processo:
      1- na primeira linha do código, antes do primeiro caractere, ponha o cursor e pressione CODE que se encontra na barra de formatação de texto.
      2- depois posicione o cursor após o ultimo caractere e pressionei novamente o CODE
      3- vc notará que aparecerá uma crase ` no inicio e no final do código, isso significa que tudo que tiver neste intervalo permanecerá com a formatação original.

Visualizando 2 respostas da discussão
  • Você deve fazer login para responder a este tópico.