Python – Այլընտրանքային առջևի և հետևի գումարը
Ամենակարևոր տվյալների տեսակներից մեկը Python լեզվով ցուցակն է: Տարբեր ներկառուցված մեթոդներ, որոնք հասանելի կլինեն python-ում ցուցակի տարրերը շահարկելու համար, ինչպիսիք են append(), insert(), extend() և այլն: Բազմաթիվ մոտեցումներ օգնում են գտնել զանգվածի այլընտրանքային առջևի և հետևի գումարը: Զանգվածը տրվում է n տարրով, և ներգրավված գործընթացը՝ առաջին տարրը ավելացվում է զանգվածի վերջին տարրին, զանգվածի երկրորդ տարրը ավելացվում է երկրորդ վերջին տարրի արժեքին և այն շարունակվում է մինչև բոլոր տարրերը գումարվեն միասին։ Օրինակ, վերցնենք զանգվածը,
[40, 50, 20, 30]
Առջևի և հետևի այլընտրանքային գումարը հաշվարկվում է որպես (40+30) + (50+20)=140
Մոտեցում
Մոտեցում 1. Օգտագործելով պայմանական դրույթ
Մոտեցում 2. zip ֆունկցիայի օգտագործում
Մոտեցում 1. Python ծրագիր՝ այլընտրանքային առջևի հետևի գումարը՝ օգտագործելով պայմանական դրույթ
Պայմանական հայտարարությունն օգտագործվում է num-ը և ran-ը համեմատելու համար, այնուհետև ցուցակի տարրերը ենթարկվում են ավելացման և վերադարձնում արժեքը որպես 60 և -50:
Ալգորիթմ
Քայլ 1 - Ցանկը սկզբնավորվում է մի շարք տարրերով:
Քայլ 2 − num-ի նման փոփոխականները սկզբնավորվում են 0-ի և ran-ը սահմանվում է տվյալ ցանկի երկարությամբ՝ հանած 1:
Քայլ 3 - Այնուհետև դատարկ ցուցակը սկզբնավորվում է:
Քայլ 4 − Երբ num-ը ran-ից փոքր է,
Դրոշը ճշմարիտ է, և այնուհետև ավելացրեք տարրը num և գործարկված ինդեքսների մեջ, նախաստորագրված դատարկ ցուցակում:
Դրոշը կեղծ է և ավելացնում է տարրերի բացասական գումարը num and run ինդեքսների վրա, որոնք սկզբնավորվել են դատարկ ցուցակում:
Քայլ 5 − Հետագայում ավելացրեք num-ը և նվազեցրեք «ran» փոփոխականը:
Քայլ 6 - Մյուս դեպքում, num=ran-ը և 1-ին ինդեքսում գտնվող տարրը սկզբնավորվել է res-ով:
Քայլ 7 − Այնուհետև տպման հայտարարությունը կտպագրի առջևի հետևի այլընտրանքային գումարը:
Օրինակ
#list is initialized with elements of strings
list_1 = [10, 20, 30, 50]
# variables are Initialized with values
num = 0
ran = len(list_1) - 1
res = []
flag = True
# while loop is used to iterate through the while loop
while num < ran:
if flag:
res.append(list_1[num] + list_1[ran])
flag = False
else:
res.append((list_1[num] + list_1[ran]))
flag = True
num += 1
ran -= 1
# if loop uses the conditional statement to check for odd-numbered list array.
if num == ran:
res.append(list_1[num])
# returns the statement after the front-rear sum
print("Alternating Front-Rear Sum:", *res)
Արդյունք
Alternating Front-Rear Sum: 60 50
Մոտեցում 2. Python ծրագիր՝ առջևից հետևի գումարը փոխարինելու համար՝ օգտագործելով zip() ֆունկցիան
Ստորև բերված կոդում zip() ֆունկցիան օգտագործվում է ցուցակի տարրերը առջևից և հետևից միավորելու համար, այնուհետև հաշվարկել առջևի և հետևի փոփոխվող գումարը: Reversed() ֆունկցիան օգտագործվում է ցուցակի մեջ հակառակ հերթականությամբ կրկնելու համար:
Ալգորիթմ
Քայլ 1 - Ցանկը սկզբնավորվում է մի շարք տարրերով:
Քայլ 2 - Այնուհետև դատարկ ցուցակը սկզբնավորվում է:
Քայլ 3 − Դրոշակը true է, այնուհետև օգտագործվում է zip() ֆունկցիան երկու պարամետրի հետ միասին, որոնք են՝ list_1 և reversed list_1: Այնուհետև ընթացիկ տարրերը ավելացվում են դատարկ ցուցակին:
Քայլ 4 − Դրոշակը false է, այնուհետև օգտագործվում է zip() ֆունկցիան երկու պարամետրի հետ միասին, որոնք են՝ list_1 և reversed list_1: Այնուհետև ընթացիկ տարրը կկրի բացասական գումար:
Քայլ 5 − Երբ ցուցակի երկարությունը տարօրինակ է, դատարկ ցուցակում ավելացրեք միջին տարրը:
Քայլ 6 − Այնուհետև տպման հայտարարությունը կտպագրի առջևի հետևի այլընտրանքային գումարը:
Օրինակ
#list is initialized with elements of strings
list_1 = [10, 20, 30, 50]
#initializing the empty list
empty = []
use = []
flag = True
#for loop is used to iterate through the list using the zip function
for a, b in zip(list_1, reversed(list_1)):
if flag:
empty.append(a + b)
flag = False
else:
use.append((a + b))
flag = True
# if loop uses the conditional statement to check for an even numbered list array.
if len(list_1) % 2 != 0:
empty.append(list_1[len(list_1) // 2])
# returns the statement after the front-rear sum
print("Alternating Front-Rear Sum:", *empty)
Արդյունք
Alternating Front-Rear Sum: 60 50
Եզրակացություն
Python ծրագիրը տրված է տարրերի տվյալ զանգվածի հետևի և առջևի այլընտրանքային գումարը հաշվարկելու համար։ Տարրերի ավելացումն ավելի հեշտ է զանգվածների ցուցակի զույգ երկարության դեպքում, մյուս կողմից, երբ տարրերն ունեն ցուցակի կենտ երկարություն։ Վերջնական թիվը ավելացվում է ցուցակի վերջում: