Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida em programação


Cunha Vinicios

Pergunta

 

Enunciado

Caminho percorrido entre várias cidades

A tabela abaixo exibe o tempo (em horas) de viagem de avião entre duas cidades distintas.

ex08_tab_dist_2cidades.png

Escreva um programa que leia uma sequência de códigos de cidade, até que o número -1 seja lido. Em seguida, imprima o temponecessário para percorrer o circuito de cidades informadas.

Dicas

  • Considere que o usuário sempre insere valores válidos.
  • Use uma variável acumuladora para guardar o tempo de viagem.
  • Uma vez que a quantidade de cidades no trajeto não é conhecida antes da execução do programa, use um laço while mais externo para acumular o tempo de viagem.
  • Note que a cidade de destino em uma iteração será a cidade de origem na próxima iteração do laço.
  • Exemplos não exaustivos de entradas e saídas:
    • Entrada: 222 444 333 555 -1 | Saída: 31
    • Ou seja, o valor 31 corresponde à soma do tempo percorrido entre a cidade 222 e 444 (12 horas), mais o tempo percorrido entra a cidade 444 e 333 (11 horas), mais o tempo percorrido entra a cidade 333 e 555 (8 horas).
    • Entrada: 777 111 777 -1 | Saída: 2
    • Ou seja, o valor 2 corresponde à soma do tempo de ida da cidade 777 à 111 (1 hora), mais o tempo de volta da cidade 111 à 777 (1 hora).
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

from numpy import *
from numpy.linalg import *

tab = array([
[0,2,11, 6,15,11,1],
[2,0, 7,12, 4, 2,15],
[11,7,0,11,8,3,13],
[6,12,11,0,10,2,1],
[15,4,8,10,0,5,13],
[11,2,3,2,5,0, 14],
[1,15,13,1,13,14,0]
])

tempo = 0

c1 = int(input("Digite o numero da cidade:"))

while c1 > 0:
    a = int((c1 / 111) - 1)
    c1 = int(input("Digite o numero da cidade:"))
    if c1 > 0:
        b = int((c1 / 111) - 1)
    
    x = tab[a,b]
    
    tempo = tempo + x
    
print(tempo)
 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...