Problem

2/11

Bir dizi öğesine erişme

Theory Click to read/hide

Dizi öğeleriyle çalışma

Dizilerin kullanışlılığının çoğu, öğelerine ayrı ayrı erişilebilmesi gerçeğinden gelir.
Bunu yapmanın yolu, elemanları numaralandırmak için bir dizin kullanmaktır.
 
Dizinbelirli bir dizi öğesine işaret eden bir değerdir.

Bir dizinin bir elemanına atıfta bulunmak için, dizinin adını ve ardından dizini köşeli parantez içinde belirtmelisiniz. Örneğin, dizin 1'deki dizi öğesine 100 değerini şu şekilde yazabilirsiniz: A[1] = 100.


Hatırlamak zorundasın!
PYTHON'DA NUMARA DİZİSİ SIFIRDAN BAŞLAR!
(Bu bir önkoşuldur - sıfırdan başlamalısınız. Bunu hatırlamak özellikle önemlidir.)
 
Örnek
x = (A[3] + 5) * A[1] # A[3] ve A[1] değerlerini oku A[0] = x + 6 # A[0]'a yeni değer yaz
Dizi öğeleriyle çalışmak için programı inceleyelim.
ben = 1
A = [0] * 5 # 5 elemanlı bir dizi oluştur
A[0] = 23 #, 5 dizi öğesinin her birine (0 ila 4 dizinleri)
A[1] = 12 # belirli bir değer yaz
A[2] = 7
A[3] = 43
A[4] = 51
A[2] = A[i] + 2*A[i-1] + A[2*i] # indeksi 2 olan elemanın değerini ifadenin sonucuna değiştir
                                # i=1 olduğundan, i değişkeninin değerini elde ettiğimiz ifadede yerine koyarsak
                                # aşağıdaki ifade A[2] = A[1] + 2*A[0] + A[2];
yazdır(A[2] + A[4])


Çalışma sonucunda bu program 116'ya eşit indeks 2 ve indeks 4'e sahip dizinin elemanlarının toplamının değeri ekranda görünecektir. Örnekten de görebileceğiniz gibi dizinin herhangi bir elemanına ulaşabiliyoruz. . Ayrıca gerekli eleman sayısını çeşitli formüller kullanarak hesaplayın (örneğin, A[i-1] veya A[2*i] programında olduğu gibi). Bu durumlarda, elemanların indeksleri hesaplanacak ve i'nin değerine bağlı olacaktır.

Python'da diziler için negatif indeks değerleri kullanabilir, dizinin sonundan sayabilirsiniz. Örneğin: A[-1] - dizinin son elemanı A[-2] - sondan bir önceki öğe vb.

Programı analiz edelim. N=5 A = [0] * N  x=1 yazdır(A[x - 3])   # A[-2] öğesine erişim print(A[x - 3 + len(A)]) # erişim elemanı A[3]                       # bu,  A[-2] ile aynı öğedir A[x + 4] = A[x] + A[2 * (x + 1)]  # ifadelerde ve hesaplamalarda x yerine koyulduktan sonra                            # sonraki satırı al A[5] = A[1] + A[4]                           # A[5] böyle bir öğe yok                           # hata - sınırların dışında dizi Dizi 5 öğeyle tanımlandığından, öğeler -5'den 4'e kadar numaralandırılacaktır. 6. satırdaki programın var olmayan bir öğeye gönderme yaptığını görüyoruz: A[5].
Programın dizinin sınırlarını aştığı ortaya çıktı.
 

Bu gibi durumlarda, program genellikle çalışma zamanı hatası vererek çöker.

Problem

4'ten 7'ye kadar olan satırlarda, 1'den 4'e kadar olan dizindeki dizi öğelerini önceki dizi öğesinin değerinin iki katına ayarlayın. 
Bu görevde belirli numaralar atayamazsınız, dizinin bir önceki elemanına isim ve indeks ile başvurmalısınız
Yani, A[1] = 46 girişi geçersiz kabul edilecektir.