Dúvida Exercício 091 Mundo 3 de Python

Home Fóruns Python Dúvida Exercício 091 Mundo 3 de Python

Visualizando 5 respostas da discussão
  • Autor
    Posts
    • #136082
      Marina Ribas Argus
      Participante

      Boa tarde, Gostaria de saber o por que está dando o resultado errado no ranking dos jogadores. Obrigada

      `from random import randint
      from time import sleep
      dados={}
      c=0
      print(‘Valores sorteados:’)
      for p in range(1,5):
      jogador = randint(1,6)
      dados= {f’Jogador [{p}]’ : {jogador}}
      print(f’Jogador {p} tirou no dado {jogador}’)
      sleep(1)
      print(‘-*’ *30)
      info = {}
      print(‘Ranking dos jogadores:’)
      while c <=4:
      for i in sorted(dados, key = dados.get, reverse=True):
      print(f'{c+1}° lugar: {i} com {dados[i]}’)
      c += 1

      A resposta que está sendo gerada é assim:

      Valores sorteados:
      Jogador 1 tirou no dado 6
      Jogador 2 tirou no dado 5
      Jogador 3 tirou no dado 3
      Jogador 4 tirou no dado 1
      -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
      Ranking dos jogadores:
      1° lugar: Jogador [4] com {1}
      2° lugar: Jogador [4] com {1}
      3° lugar: Jogador [4] com {1}
      4° lugar: Jogador [4] com {1}
      5° lugar: Jogador [4] com {1}

      Process finished with exit code 0

    • #136083
      Marina Ribas Argus
      Participante

      Minha nossa, na hora que publicou removeu todas as indentações mesmo clicando em Code.

    • #136084
      Tutora Jessica
      Moderador

      Ola Marina, nos envie novamente identado por favor, ou la pelo discord.
      Selecione o codigo por completo e clique em CODE.

    • #136134
      Marina Ribas Argus
      Participante
      from random import randint
      from time import sleep
      from operator import itemgetter
      
      dados={}
      
      c=0
      print('Valores sorteados:')
      for p in range(1,5):
          jogador = randint(1,6)
          dados = {f'Jogador [{p}]' : {jogador}}
          print(f'Jogador {p} tirou no dado {jogador}')
          sleep(1)
      print('-*' *30)
      print(dados)
      print('Ranking dos jogadores:')
      while c <=4:
          for i in sorted(dados, key = dados.get, reverse=True):
              print(f'{c+1}° lugar: {i} com {dados[i]}')
              c += 1
      
      
    • #136135
      Marina Ribas Argus
      Participante

      Agora publicou certinho, obrigada

    • #136297
      Tutora Jessica
      Moderador

      Ola Marina, sugiro acompanhar a resolução desse exercício no curso, pois algumas coisas que devem ser feitas nele não foram explicadas em aula, mas tem a explicação na resolução do exercício.
      No seu código você criou uma lista em branco com a variável dados, só que ao invés de adicionar itens a sua lista você esta reescrevendo o valor da variável dados, com isso o valor de dados será sempre o ultimo valor do seu loop no caso 4.
      Há como fazer dessa forma, mas teriam muitas etapas para consertar, mesmo corrigindo essa iteração ainda há outros pontos a serem corrigidos.
      No mais, parabéns pela criatividade da resolução do seu código, o seu pensamento foi correto e muito legal!!
      Aguardo sua nova resolução, caso tenha mais duvidas retorne ao fórum que vamos lhe ajudar.

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