Python – Տպել նահանջ տարիների թիվը տարիների տվյալ ցանկից
Դպրոցում կամ քոլեջում նահանջ տարիների հետ աշխատելը բարդ կլինի: Այն դեպքում, երբ մենք ուզում ենք պարզել՝ տվյալ տարին նահանջ տարի է, թե ոչ, ապա պարզ մեթոդը այն չորսի բաժանելն է։ Երբ նահանջ տարին բաժանվում է 4-ի և 100-ի, այն նահանջ տարի է, իսկ հակառակ դեպքում՝ ոչ։ Երբ օգտվողին տրվում է 10-ից 100 տարիների ցուցակ, ապա դա հոգնեցուցիչ գործընթաց է և այնքան ժամանակ է խլում: Այդ իրավիճակում Python-ը ուղու մեջ է մտնում պարզ կոդերով:
Ցուցակից նահանջ տարիների թիվը տպելու համար պետք է հասկանանք, թե ինչ է նահանջ տարին։ Այն գալիս է չորս տարվա ընդմիջման ժամանակ՝ 366 օրով, իսկ մյուս տարիներն ունեն ընդամենը 365 օր: Նահանջ տարվա մեկ լրացուցիչ օրը ավելացվում է փետրվար ամսին։
Մոտեցումներ
Մոտեցում 1 – Օգտագործելով լամբդա ֆունկցիան
Մոտեցում 2 - Օգտագործելով օրացույցային մոդուլը
Մոտեցում 3 – Օգտագործելով պայմանական դրույթ
Մոտեցում 1. Python ծրագիր՝ տպելու նահանջ տարիների թիվը տարիների ցանկից՝ օգտագործելով lambda ֆունկցիան
Ցանկի երկարությունը ստանալու մեթոդը գտնում են օրացույցային մոդուլը լամբդա ֆունկցիայի հետ միասին ներմուծելով։
Ալգորիթմ
Քայլ 1 - Օրացույցի մոդուլը ներմուծվում է isleap() անունով ֆունկցիան օգտագործելու համար:
Քայլ 2 - Ցանկը սկզբնավորվում է տարին պահող տարրերով:
Քայլ 3 − Ֆիլտրի ֆունկցիան միշտ օգտագործվում է լամբդա ֆունկցիան սահմանելիս:
Քայլ 4 − Ցուցակից նահանջ տարին տպագրվում է նահանջ տարիների երկարության հետ միասին:
Օրինակ
#importing the library
import calendar
#initializing the list with integer elements
list1 = [1998, 1987, 1996, 1972, 2003]
#iterating through the list using for loop
#using the isleap(), filter() function is used to find the leap year
leaplist = list(filter(lambda num: calendar.isleap(num), list1))
#returns the final length
print("Leap years from the list are: " , leaplist)
print("Total number of leap years: ", len(leaplist))
Արդյունք
Leap year from the list are: [1996, 1972]
Total number of leap year: 2
Մոտեցում 2. Python ծրագիր, որը տպում է նահանջ տարիների թիվը տարիների ցանկից՝ օգտագործելով պայմանական դրույթը
Տարրերի ցանկը սկզբնավորվում է և պայմանական դրույթի օգնությամբ բավարարվում է պահանջը՝ պարզելու, թե որն է նահանջ տարին։
Ալգորիթմ
Քայլ 1 − Տարիների ցանկը վերագրվում է «list1» անունով փոփոխականին և սահմանվում է դատարկ ցուցակ:
Քայլ 2 − Օգտագործելով կրկնությունը, երբ տարին ցուցակում է, պետք է բավարարի, որ 4-ի բաժանված տարին պետք է հավասար լինի 100-ի բաժանված թվին:
Քայլ 3 − Կամ պարզ հաշվարկը, երբ տարին բաժանվում է 400-ի, այն պետք է բաժանվի։
Քայլ 4 − Գործընթացը շարունակվում է այնքան ժամանակ, մինչև չստուգի ցանկի բոլոր տարրերը:
-
Քայլ 5 - Այնուհետև վերադարձվում է նահանջ տարիների ընդհանուր թիվը:
Օրինակ
#initializes the list with years as input
list1 = [1998, 1987, 1996, 1972, 2003]
#initializing the empty list
leaplist = []
#for loop is used to iterate through the list
#condition is used to print the result
for num in list1:
if ((num%4==0 and num%100!=0) or (num%400==0)):
print("Leap year from the list is: ",num)
leaplist.append(num)
#finally printing the number of leap years in the given list
print("Total number of leap years: ", len(leaplist))
Արդյունք
Leap year from the list is: 1996
Leap year from the list is: 1972
Total number of leap year: 2
Մոտեցում 3. Python ծրագիր՝ Calendar մոդուլի միջոցով նահանջ տարիների թիվը տարիների ցանկից տպելու համար
Նահանջ տարին որոշվում է տարրերի ցանկից՝ ներմուծելով օրացուցային մոդուլը: Քանի որ գրադարանն օգտագործվում է, պայմանական հայտարարությունը չի օգտագործվում:
Ալգորիթմ
Քայլ 1 − Պահանջվող օրացուցային մոդուլը ներմուծվում է նահանջ տարիները լուծելու համար:
Քայլ 2 − Ցուցակը սկզբնավորվում է որոշակի թվով տարիներով և ցուցակից նահանջ տարին պահելու համար պահվում է leaplist փոփոխականում:
Քայլ 3 − For հանգույցն օգտագործվում է ցուցակի տարրերով կրկնելու համար, isleap() ֆունկցիայի օգնությամբ այն ուղղակիորեն գտնում է նահանջ տարին։
Քայլ 4 − Նահանջ տարիների ընդհանուր թիվը տպագրվում է պայմանը բավարարելու դեպքում:
Օրինակ
#importing the library
import calendar
#initializing the list with integer elements
list1 = [1998, 1987, 1996, 1972, 2003]
#initializing the empty list
leaplist = []
#iterating through the list using for loop
#using the isleap() function to find the leap year
for num in list1:
leap = calendar.isleap(num)
if leap:
print("Leap year from the list is: ",num)
leaplist.append(num)
#returns the final length
print("Total number of leap years: ", len(leaplist))
Արդյունք
Leap year from the list is: 1996
Leap year from the list is: 1972
Total number of leap year: 2
Եզրակացություն
Ցանկի տվյալների կառուցվածքը վերաբերում է տվյալների տարբեր տեսակների տարրերին, ինչպիսիք են ամբողջ թվերը, լողացող համարները կամ տողերը: Տարրերը պետք է սահմանվեն ստորակետով բաժանված քառակուսի փակագծերում: Մոտեցումները տրվում են մոդուլներով, ինչպիսիք են օրացույցը, DateTime-ը և օգտագործելով պայմանական հայտարարություններ: