• 0
Sign in to follow this  
Cunha Vinicios

Dúvida em programação

Question

 

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).

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 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)
 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this