Python ဆက်တိုက်နံပါတ်များနှင့် ပတ်သက်သော အဓိကပြဿနာမှာ ဆက်တိုက်နံပါတ်နှစ်ခုကြား ခြားနားချက်သည် အမြဲတမ်းတူညီခြင်းမရှိပါ။ ဥပမာအားဖြင့်၊ သင့်တွင် ဂဏန်းများစာရင်း [1၊ 2၊ 3] ရှိပါက၊ 1 နှင့် 2 အကြားကွာခြားချက်မှာ 1 ဖြစ်ပြီး 2 နှင့် 3 အကြားကွာခြားချက်မှာ 0.5 သာဖြစ်သည်။ ၎င်းသည် တန်ဖိုးများ ကွဲပြားမှုများကို တွက်ချက်ရန် ကြိုးစားသောအခါ သို့မဟုတ် စဉ်ဆက်မပြတ် အဆင့်အရွယ်အစားကို အားကိုးသည့် အယ်လဂိုရီသမ်များကို အသုံးပြုသည့်အခါတွင် ရှုပ်ထွေးမှုများ ဖြစ်စေနိုင်သည်။
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- ဤစာကြောင်းသည် အငြင်းအခုံတစ်ခုတွင် ကိန်းဂဏန်းများပါဝင်သည့် consecutive_difference ဟုခေါ်သော လုပ်ဆောင်ချက်ကို သတ်မှတ်သည်။
# လိုင်း 2- ဤလိုင်းသည် diff ဟုခေါ်သော အလွတ်စာရင်းတစ်ခုကို ဖန်တီးသည်။
# လိုင်း 3- ဤလိုင်းသည် နံပါတ် အနှုတ်တစ်ခု၏ အလျားကို ဖြတ်၍ ထပ်လောင်းသည့် အတွဲဖြစ်သည်။
# လိုင်း 4- ဤမျဉ်းသည် ဂဏန်းများရှိ ဒြပ်စင်တစ်ခုစီကြားရှိ ခြားနားချက်၏ ပကတိတန်ဖိုးကို diff list သို့ ပေါင်းထည့်သည်။
# လိုင်း 5- ဂဏန်းများတွင် ဆက်တိုက်ဒြပ်စင်များကြား ကွဲပြားမှုများအားလုံးကို ဖြည့်သွင်းပြီးနောက် ဤလိုင်းသည် ကွဲပြားသောစာရင်းကို ပြန်ပေးသည်။
# လိုင်း 8- ဤစာကြောင်းသည် 2၊ 4၊ 6၊ နှင့် 8 ပါဝင်သောစာရင်းတစ်ခုနှင့်ညီသောကိန်းများဟုခေါ်သောကိန်းရှင်တစ်ခုကိုသတ်မှတ်သည်။
# စာကြောင်း 9- ဤစာကြောင်းသည် ဂဏန်းများပေါ်တွင် consecutive_difference ကိုခေါ်ဆိုခြင်း၏ရလဒ်ကို print ထုတ်သည်။
မာတိကာ
Python ရှိ စာရင်းတစ်ခုတွင် ဆက်တိုက်နံပါတ်များကို ရှာပါ။
Python ရှိ စာရင်းတစ်ခုတွင် ဆက်တိုက်နံပါတ်များကို ရှာဖွေခြင်းသည် အတော်လေးလွယ်ကူသည်။ အရိုးရှင်းဆုံး ချဉ်းကပ်နည်းမှာ စာရင်းကို လှည့်ပတ်ပြီး အစိတ်အပိုင်းတစ်ခုစီကို ၎င်းမတိုင်မီ တစ်ခုနှင့်တစ်ခု နှိုင်းယှဉ်ရန်ဖြစ်သည်။ ဒြပ်စင်နှစ်ခုကြား ခြားနားချက်မှာ 1 ဖြစ်ပါက ၎င်းတို့သည် ဆက်တိုက်ကိန်းများဖြစ်သည်။
ဤသည်မှာ မည်သို့လုပ်ဆောင်နိုင်သည်ကို ဥပမာတစ်ခုဖြစ်သည်။
Numbers = [1,2,3,4,5,6] # နံပါတ်များစာရင်း
consecutive_numbers = [] # ဆက်တိုက်နံပါတ်များကို သိမ်းဆည်းရန် စာရင်း
for i in range(len(numbers)-1): # စာရင်းကို လှည့်ပတ်ပါ။
if (numbers[i+1] – နံပါတ်[i]) == 1: # ဒြပ်စင်နှစ်ခုကြားက ကွာခြားချက်က 1 ဟုတ်မဟုတ် စစ်ဆေးပါ။
consecutive_numbers.append(numbers[i]) # ဆက်တိုက်နံပါတ်များစာရင်းသို့ အစိတ်အပိုင်းကို ထပ်ထည့်ပါ
consecutive_numbers.append(numbers[i+1]) # ဆက်တိုက်နံပါတ်များစာရင်းတွင် နောက်ဒြပ်စင်ကို ထပ်ထည့်ပါ
print(consecutive_numbers) # ဆက်တိုက်နံပါတ်များစာရင်းကို print ထုတ်ပါ။
စာရင်းတစ်ခုတွင် ဆက်တိုက်နံပါတ်များကြား ခြားနားချက်ကို ရယူပါ။
Python တွင် zip() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ စာရင်းတစ်ခုရှိ ဆက်တိုက်နံပါတ်များကြား ခြားနားချက်ကို သင်ရနိုင်သည်။ zip() လုပ်ဆောင်ချက်သည် နှစ်ခု သို့မဟုတ် ထို့ထက်ပို၍ ပြုလုပ်နိုင်သော အရာများကို ယူကာ tuples ၏ iterator တစ်ခုကို ပြန်ပေးသည်။ ပြီးသွားသော iterable တစ်ခုစီရှိ ပထမအရာအား အတူတကွ တွဲထားပြီး၊ ထို့နောက် ပြီးသွားသော iterable တစ်ခုစီရှိ ဒုတိယအရာအား အတူတကွ တွဲလျက် စသည်တို့ဖြစ်သည်။ စာရင်းတစ်ခုရှိ ဆက်တိုက်နံပါတ်များကြား ခြားနားချက်ကို ရယူရန်၊ သင်သည် နံပါတ်တစ်ခုစီကို ၎င်း၏ရှေ့ဆက်သူနှင့် တွဲချိတ်ရန် zip() ကို အသုံးပြု၍ ကွာခြားချက်ကို ရရှိရန် ၎င်းတို့ကို နုတ်ပါ။ ဥပမာ:
list_numbers = [1၊ 2၊ 3၊ 4]
ကွာခြားချက်များ = [y – x အတွက် x၊ zip ရှိ y (list_numbers[:-1]၊ list_numbers[1:])]
print(ကွဲပြားမှုများ) # Output- [1၊ 1၊ 1]