{ 2 4 , 1 7 , 5 9 , 8 7 } Сандық ауқымның жоғарғы шегінің мәні n айнымалы мәніне жазылады. Командада 1-ден n-ге дейінгі ауқымда мәндері бар оң бүтін сандар жиынтығы жасалады
E = (1, n + 1) диапазонында s s үшін.
Мұнда жиынтықтың генераторын пайдаланғанымызда: жақшаларда, s үшін s (l, n + l) аралығындағы s s операторлары көптеген элементтердің 1-ден n-ге дейінгі табиғи сериялардың мәндері арқылы өтетін айнымалы s анықтайды.
Set al = l = {s болса, S кезінде 5% == 2} командасымен жасалады. Енді жиынтықтың генераторында айнымалы s көптеген элементтердің мәндерінен шығып кетеді. Элемент S алгебрада 5% == 2 жағдайында сақталады, яғни, егер 5-ке тең бөлісу саны 2-ге тең болса. Ұқсас бұйрықтар да бар
A2 = {s for s in Е if s % 5 = = 4 }
B= {s for s in Е if s % 7 == 3 }
С= {s fоr s in Е if s % 3 == 1 }
басқа жиынтықтар жасалады. 5-ке бөлінген кезде, қалған 2 немесе 4-дегі сандар жиынтығы Al және A2 жиындарын біріктіру арқылы есептеледі - A = Al ∪ A2 пәрменін қолданып есептеледі. Ақырында, D = (A & B) - C пәрменін қолданып, қажетті нәтижені табамыз.
Сіз «классикалық» тәсіл қолдансаңыз болады.
Мысал 2. Біз бірдей мәселені шешеміз.
# Верхняя граница
n= 100
# Пустое множество
D= set()
# Бөлуге 5, 2 немесе 4 кірістілік бөлінген кезде, олардың саны 3-ке 3-ке бөлінеді, ал 3-ке бөлінген кезде олар қашықтықта берілмейді
For s in range ( 1 , n + 1 ) :
i f s % 5==2 or s % 5 = = 4 :
if s % 7 == 3 :
if s % 3 ! = 1 :
D .add ( s )
# Отображаем резул ьтат
р r i n t ( " Приведенные ниже числа о т 1 до " , n )
p r i n t ( " 1 ) при делении на 5 дают в о с т а т ке 2 или 4 ; " )
p r i n t ( " 2 ) при делении на 7 дают в о с т а тке 3 ; " )
p r i n t ( " 3 ) при делении на 3 не дают в ост атке 1 : " )
p r i n t ( D )
Осы тұрғыда, біз бірінші бос жиынын әмір, содан кейін цикл мәлімдеме мен кірістірілген шартты есептілігін тобын пайдалану) D = жиынтығы (жасау жаңа элементтер тізіміне қосу - әрине, бұл элементтері барлық критерийлерге (шартты есептілігінде шарттары) қанағаттандыратын болса.
Элементті жиынға қосу үшін add () әдісі қолданылады. Python түріндегі s e t (set) түріне қосымша frozenset (өзгермейтін жиын) түрі бар. Өзгеріссіз жиынтығы мен кәдімгі жиынтықтың арасындағы негізгі айырмашылық - бұл өзгермейтін жиынтығы, оңай деп болжауға болатындықтан, өзгерту мүмкін емес. Сіз өзгермейтін жиынтығын frozenset () функциясын пайдаланып жасай аласыз, мысалы, тізім немесе мәтін жолы. Кәдімгі жиынтықтарға қолданылатын көптеген әдістер өзгермейтін жиынтықтарға қолданылуы мүмкін - сөйлеу, әрине, бастапқы жиынның құрылымын өзгертпейтін әдістер туралы.
Жұмыс жоспары: Тапсырма 1. Мысалдың бағдарлама кодын енгізіңіз 1. Жоғарыда көрсетілген шешіммен алынған нәтижені салыстырыңыз.
Тапсырма 2. Кодты енгізіңіз, мысалы 2. Нәтижені тексеріңіз.
3-міндет. 1-ден 20-ға дейінгі диапазондағы барлық жұп сандардан бөліп шығатын бағдарламаны жазыңыз. Мысалы, бұл 2, 6, 10 және т.б. сандар.
Жұмыстың нәтижесі есеп түрінде.
№8 ЗЕРТХАНАЛЫҚ ЖҰМЫС