for … else

while ցիկլերի նմանությամբ՝ for ցիկլերը նույնպես կարող են ունենալ else բլոկներ, որոնք գործարկվում են, երբ for ցիկլն ավարտվում է առանց break-ի հանդիպելու: for...else-ի սինտաքսը շատ նման է while…else-ի սինտաքսին:
Դիտարկենք հետևյալ ծրագիրը, որը ստուգում է՝ տվյալ թիվը պարզ է, թե ոչ։ Թիվը պարզ է, եթե այն մեծ է 1-ից և չի կարող բաժանվել այլ թվի վրա, բացի 1-ից և իրենից:
# Program to check if a number is prime or not
num = int(input('Enter a number: '))
for i in range(2, num):
    if num % i == 0:
        print(f'{num} is not a prime number')
        break
else:
    print(f'{num} is a prime number')
Ծրագիրը կստուգի [2, num) տիրույթում գտնվող յուրաքանչյուր թիվը՝ պարզելու, թե արդյոք այն num-ի բաժանարար է: Եթե ծրագիրը հանդիպի նման թվի, կտպի {num} is not a prime number և դուրս կգա ցիկլից: Քանի որ break է կիրառվել, else բլոկի կոդը չի կատարվի: Բայց եթե միջակայքում ոչ մի թիվ num-ի բաժանարար չէ, կկատարվի else-ի կոդը, և ծրագիրը կտպի {num} is a prime number:

Առաջադրանք

Մուտքի առաջին տողը պարունակում է n, որին հաջորդում են ամբողջ թվերի n տողեր: Ձեր խնդիրն է տպել The first even number in the list is {num} կամ There is no even number in the list, եթե մուտքագրված թվերից ոչ մեկը զույգ չէ: Այս առաջադրանքը լուծելու համար փորձեք կիրառել for ցիկլը else բլոկով:
Մուտք
Ելք
5 -1 3 4 -3 6
The first even number in the list is 4
4 1 3 -7 17
There is no even number in the list

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue