Išspręsta: python iš eilės skaičių skirtumas tarp

Pagrindinė problema, susijusi su Python nuoseklių skaičių skirtumu, yra ta, kad skirtumas tarp dviejų iš eilės einančių skaičių ne visada yra vienodas. Pavyzdžiui, jei turite skaičių sąrašą [1, 2, 3], skirtumas tarp 1 ir 2 yra 1, bet skirtumas tarp 2 ir 3 yra tik 0.5. Tai gali sukelti painiavą bandant apskaičiuoti verčių skirtumus arba naudojant algoritmus, kurie priklauso nuo pastovaus žingsnio dydžio.

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

# 1 eilutė: ši eilutė apibrėžia funkciją, vadinamą consecutive_difference, kuri paima vieną argumentą numeriai.
# 2 eilutė: ši eilutė sukuria tuščią sąrašą, vadinamą diff.
# 3 eilutė: ši eilutė yra for ciklas, kuris kartojasi per skaičių atėmus vieną ilgį.
# 4 eilutė: ši eilutė prideda absoliučią skirtumo tarp kiekvieno elemento vertę skaičiais į skirtumų sąrašą.
# 5 eilutė: ši eilutė grąžina skirtumų sąrašą po to, kai jis užpildomas visais skirtumais tarp iš eilės einančių elementų numeriais.
# 8 eilutė: ši eilutė nustato kintamąjį, vadinamą numeriais, lygų sąrašui, kuriame yra 2, 4, 6 ir 8.
# 9 eilutė: ši eilutė išspausdina consecutive_difference iškvietimo numeriais rezultatą.

Raskite iš eilės esančius skaičius Python sąraše

Rasti skaičius iš eilės Python sąraše yra gana lengvas. Paprasčiausias būdas yra peržiūrėti sąrašą ir palyginti kiekvieną elementą su prieš jį esančiu. Jei skirtumas tarp dviejų elementų yra 1, tai jie yra iš eilės einantys skaičiai.

Štai pavyzdys, kaip tai galima padaryti:

skaičiai = [1,2,3,4,5,6] # Skaičių sąrašas
consecutive_numbers = [] # Sąrašas, kuriame saugomi nuoseklūs skaičiai
i diapazone(len(skaičiai)-1): # Pereikite per sąrašą
if (skaičiai[i+1] – skaičiai[i]) == 1: # Patikrinkite, ar skirtumas tarp dviejų elementų yra 1
consecutive_numbers.append(skaičiai[i]) # Pridėti elementą prie iš eilės einančių skaičių sąrašo
consecutive_numbers.append(skaičiai[i+1]) # Pridėti kitą elementą prie iš eilės einančių skaičių sąrašo
print(consecutive_numbers) # Išspausdinti iš eilės einančių skaičių sąrašą

Gaukite skirtumą tarp iš eilės esančių skaičių sąraše

Python programoje galite sužinoti skirtumą tarp iš eilės einančių skaičių sąraše naudodami funkciją zip (). Funkcija zip() paima du ar daugiau iteracijų ir grąžina eilučių iteratorių. Pirmas elementas kiekvienoje perduotoje iteracijoje yra suporuojamas kartu, tada antrasis kiekvienos praėjo iteracijos elementas yra suporuotas kartu ir pan. Norėdami sužinoti skirtumą tarp iš eilės einančių sąrašo skaičių, galite naudoti zip(), kad suporuotumėte kiekvieną skaičių su pirmtaku ir atimtumėte juos, kad gautumėte skirtumą. Pavyzdžiui:

sąrašo_skaičiai = [1, 2, 3, 4]
skirtumai = [y – x x, y ZIP(sąrašo_numeriai[:-1], sąrašo_numeriai[1:])]
spausdinti(skirtumai) # Išvestis: [1, 1, 1]

Susijusios naujienos:

Palikite komentarą