Çözüldü: Python ardışık sayılar arasındaki fark

Python ardışık sayılar arasındaki farkla ilgili temel sorun, ardışık iki sayı arasındaki farkın her zaman aynı olmamasıdır. Örneğin, [1, 2, 3] numaralı bir listeniz varsa, 1 ile 2 arasındaki fark 1'dir, ancak 2 ile 3 arasındaki fark yalnızca 0.5'tir. Bu, değerlerdeki farklılıkları hesaplamaya çalışırken veya sabit bir adım boyutuna dayanan algoritmalar kullanırken karışıklığa neden olabilir.

def consecutive_difference(nums): 
    diff = [] 
    for i in range(len(nums)-1): 
        diff.append(abs(nums[i] - nums[i+1])) 
    return diff 
  
# Driver code 
nums = [2, 4, 6, 8] 
print(consecutive_difference(nums))

# Satır 1: Bu satır, tek bir bağımsız değişken olan nums alan ardışık_fark adlı bir işlevi tanımlar.
# Satır 2: Bu satır, diff adında boş bir liste oluşturur.
# Satır 3: Bu satır, sayı eksi bir uzunluğu boyunca yinelenen bir for döngüsüdür.
# Satır 4: Bu satır, num cinsinden her bir öğe arasındaki farkın mutlak değerini diff listesine ekler.
# Satır 5: Bu satır, sayı cinsinden ardışık öğeler arasındaki tüm farklarla doldurulduktan sonra fark listesini döndürür.
# Satır 8: Bu satır, nums adlı bir değişkeni 2, 4, 6 ve 8 içeren bir listeye eşitler.
# Satır 9: Bu satır, sayılarda ardışık_fark çağrısının sonucunu yazdırır.

Python'da bir listedeki ardışık sayıları bulma

Python'da bir listede ardışık sayıları bulmak nispeten kolaydır. En basit yaklaşım, listede döngü yapmak ve her öğeyi bir öncekiyle karşılaştırmaktır. İki eleman arasındaki fark 1 ise ardışık sayılardır.

İşte bunun nasıl yapılabileceğine dair bir örnek:

sayılar = [1,2,3,4,5,6] # Sayı listesi
ardışık_sayılar = [] # Ardışık sayıların kaydedileceği liste
for i in range(len(numbers)-1): # Listede döngü
if (sayılar[i+1] – sayılar[i]) == 1: # İki eleman arasındaki farkın 1 olup olmadığını kontrol edin
Ardışık_numbers.append(sayılar[i]) # Ardışık sayılar listesine eleman ekler
Ardışık_numbers.append(sayılar[i+1]) # Ardışık sayılar listesine bir sonraki elemanı ekle
print(ardışık_sayılar) # Ardışık sayıların listesini yazdır

Bir listedeki ardışık sayılar arasındaki farkı alın

Python'da, zip() işlevini kullanarak bir listedeki ardışık sayılar arasındaki farkı elde edebilirsiniz. Zip() işlevi iki veya daha fazla yinelenebilir alır ve bir demet yineleyicisi döndürür. Geçen her yinelemedeki ilk öğe birlikte eşleştirilir, ardından her geçen yinelemedeki ikinci öğe birlikte eşleştirilir ve bu böyle devam eder. Bir listedeki ardışık sayılar arasındaki farkı bulmak için, her sayıyı önceliyle eşleştirmek için zip()'i kullanabilir ve ardından farkı bulmak için sayıları çıkarabilirsiniz. Örneğin:

liste_sayıları = [1, 2, 3, 4]
farklar = [y – x for x, y in zip(list_numbers[:-1], list_numbers[1:])]
print(farklar) # Çıktı: [1, 1, 1]

İlgili Mesajlar:

Leave a Comment