BaşlayınÜcretsiz Başlayın

Zaman ölçümü I

Slaytlarda, temel bir matematiksel işlemi gerçekleştirmek için gereken süreyi ölçmek amacıyla time.time() fonksiyonunun nasıl yükleneceğini ve kullanılacağını gördün.

Şimdi, benzer bir sorunu çözmek için iki farklı yöntemi değerlendirmek üzere aynı yaklaşımı kullanacaksın: 1'den 1 milyon'a (1.000.000) kadar olan tüm pozitif tamsayıların kareleri toplamını hesaplamak.

Videoda gördüğüne benzer şekilde, biri kaba kuvvet kullanan, diğeri daha matematiksel olan iki yöntemi karşılaştıracaksın.

formula fonksiyonunda, standart formülü kullanıyoruz

$$ \frac{N*(N+1)(2N+1)}{6} $$

burada N=1.000.000.

brute_force fonksiyonunda ise 1'den 1 milyon'a kadar her sayıyı dolaşıp sonucu elde ediyoruz.

Bu egzersiz

pandas ile Verimli Kod Yazma

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Sonucu formula() fonksiyonunu kullanarak hesapla.
  • Sonucu formula() fonksiyonuyla hesaplamak için geçen süreyi yazdır.
  • Sonucu brute_force() fonksiyonunu kullanarak hesapla.
  • Sonucu brute_force() fonksiyonuyla hesaplamak için geçen süreyi yazdır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Calculate the result of the problem using formula() and print the time required
N = 1000000
fm_start_time = ____
first_method = formula(N)
print("Time using formula: {} sec".format(time.time() - fm_start_time))

# Calculate the result of the problem using brute_force() and print the time required
sm_start_time = ____
second_method = ____(N)
print("Time using the brute force: {} sec".format(time.time() - sm_start_time))
Kodu Düzenle ve Çalıştır