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 ծրագիրը տրված է տարրերի տվյալ զանգվածի հետևի և առջևի այլընտրանքային գումարը հաշվարկելու համար։ Տարրերի ավելացումն ավելի հեշտ է զանգվածների ցուցակի զույգ երկարության դեպքում, մյուս կողմից, երբ տարրերն ունեն ցուցակի կենտ երկարություն։ Վերջնական թիվը ավելացվում է ցուցակի վերջում: