CodeBlanks Logo Icon CodeBlanks

Sonuç yazdır

En ucuz maliyeti ekrana yazdırırsın.

Sonucu yazdır

Son adımda print_route() fonksiyonunu ekliyoruz. Bu fonksiyon init_cost ve dp_min_cost'u çağırarak sonucu ekrana yazdırır.

Böylece proje tamamlanır: kullanıcı tek bir fonksiyon çağrısıyla en düşük maliyeti görür. Tüm parçalar bir araya gelir.

Çıktı formatı

print_route() sonucu bir tam sayı olarak yazdırır. Çıktı, başlangıç şehrinden son şehre en düşük maliyeti gösterir.

Bu, projenin kullanıcıya sunduğu tek değerdir. Tüm hesaplama bu sayıda özetlenir.

Uygulama print_route fonksiyonu

print_route() yaz. init_cost()'u çağır, dp_min_cost'a ver, sonucu print ile yazdır. print_route() çağrısı 55 yazsın.

Başlangıç kodu

solution.py
def init_cities():
    # Şehir listesini döndür
    return ['A', 'B', 'C', 'D']
def init_cost():
    # Maliyet matrisini döndür
    return [[0, 10, 25, 60], [0, 0, 20, 50], [0, 0, 0, 30], [0, 0, 0, 0]]
def dp_min_cost(cost):
    # En düşük maliyeti bul
    n = len(cost)
    dp = [0] * n
    for i in range(1, n):
        best = float('inf')
        for j in range(i):
            cand = dp[j] + cost[j][i]
            if cand < best:
                best = cand
        dp[i] = best
    return dp[n - 1]
def print_route():
    # Sonucu yazdır

Örnek çözüm

solution.py
def init_cities():
    # Şehir listesini döndür
    return ['A', 'B', 'C', 'D']
def init_cost():
    # Maliyet matrisini döndür
    return [[0, 10, 25, 60], [0, 0, 20, 50], [0, 0, 0, 30], [0, 0, 0, 0]]
def dp_min_cost(cost):
    # En düşük maliyeti bul
    n = len(cost)
    dp = [0] * n
    for i in range(1, n):
        best = float('inf')
        for j in range(i):
            cand = dp[j] + cost[j][i]
            if cand < best:
                best = cand
        dp[i] = best
    return dp[n - 1]
def print_route():
    # Sonucu yazdır
    cost = init_cost()
    result = dp_min_cost(cost)
    print(result)
print_route()

Beklenen çıktı

55

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 print_route ne yapar?

  • Şehir listesi döndürür
  • Diziyi sıralar
  • Matris döndürür
  • Maliyeti yazdırır Doğru cevap

Açıklama: print_route maliyeti yazdırır.

2 dp_min_cost çağrısı

Soru
cost = init_cost()
result = ____(cost)
Cevap
cost = init_cost()
result = dp_min_cost(cost)

Açıklama: dp_min_cost doğru.

3 Sonuç yazdır: kavramları eşleştir

Kavram Anlamı
init_cities Şehir
init_cost Maliyet
dp_min_cost DP
print_route Yazdır

İleri seviye bölümündeki tüm dersler