Дадлагын ажил

Функц сэдвийн дадлага болгон хэрэглэгчээс оруулсан ром тоог араб тоо болгох функцийг бичье. Жишээ нь "XV" гэж оруулбал 15, хэрвээ "IV" гэж оруулбал 4 -ийг буцаах гэх мэтээр.
Ром тоог араб тоонд I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000 жагсаалтаар шилжүүлнэ.
Ром тоог бичих болон араб тоонд шилжүүлэх дүрэм.

  • Том тоо бага тооны өмнө байвал тэдгээрийг нэмнэ.
  • Бага тоо том тооны өмнө байвал том тооноос бага тоог хасна.

Функцийг бичээд дараа нь хичээлийн кодтой харьцуулан үзээрэй.

Ром тоог араб тоо болгох функцийн кодийг

дээрх байдлаар хэрэгжүүллээ. Таны бичсэн код зөв үр дүн өгч байвал өөр байх нь хамаагүй. Програмчлалын асуудлыг маш олон янзаар шийдэж сурахыг хичээж байгаарай. Кодод тоог хөрвүүлэх parse_roman функцийг л хэрэгжүүлсэн. Ром тоог араб тоонд хөрвүүлэх жагсаалтыг толь буюу dict төрлөөр romans хувьсагчид олгосон. parse_roman функц хэрэглэгчээс оруулсан ром тоог параметрээр хүлээн авна. result бол өгөгдсөн дүрмээр хөрвүүлэгдсэн ром тоог хадгалан функцээс буцаах утгын хувьсагч. Параметрээр авсан мөр төрлийн өгөгдлийг циклээр гүйлгэн тэмдэгт бүрд анализ хийн араб тоонд шилжүүлэхийн тулд python -ий дотоод enumerate функцийг ашигласан. enumerate функц итерацлагдах (мөр, жагсаалт, толь г.м) обьектийг аваад элементийн индекс болон элементийг өөрийг нь агуулсан tuple -ийг үүсгэдэг. parse_roman функцэд мөр ирэх тул түүнийг enumerate функцэд өгвөл функцээс мөрийн тэмдэгтийн индекс, тэмдэгтийг агуулсан tuple -ийг буцаана. Ингэснээр for циклийн алхам бүрд бид параметрээр ирсэн мөрийн тэмдэгт түүний индексийг авах юм. Өөрөөр хэлбэл циклийн алхам бүрд i -д параметрээр ирсэн мөрийн тэмдэгтийн индекс, c -д параметрээр ирсэн мөрийн тэмдэгт ирнэ. Үүнийг өөрсдөө шалган үзээрэй. Үүний дараа ром тоог араб тоонд шилжүүлэх дүрмийн логикийг хэрэгжүүлсэн. if i+1<len(roman) and romans[c] < romans[roman[i+1]]: бичлэгээр бид индекс сүүлийн тэмдэгтийнх биш бөгөөд тэмдэгтийн romans тольд дахь утга дараагийн тэмдэгтийн romans тольд дахь утгаас бага байх нөхцлийг шалгана. Хэрвээ нөхцөл биелэж байвал өөрөөр хэлбэл бага тоо том тооны өмнө байвал хасах дүрмээр үр дүнгийн result хувьсагчаас тэмдэгтийн romans тольд дахь утгыг хасна. Эсрэг тохиолдолд result хувсагчид тэмдэгтийн romans тольд дахь утгыг нэмнэ. Ром тоог араб тоонд шилжүүлж буй энэ логиийн ажиллагааг сайн ойлгон аваарай. Үүнээс гадна if операторийн нөхцөлд индекс параметрийн уртаас давахгүй эсэхийг шалгаж байгааг анхаарна уу.
Шилжүүлэх функцээ бичсэн тулд input -ээр хэрэглэгчээс ром тоогоо аваад аваад үр дүнг print функцээр үзүүлнэ. Хэрэглэгчээс оруулсан тоо romans тольд тодорхойлсон тоонуудтай тохирч байгаа шалгалтыг нэмэн оруулахыг танд үлдээе. Тоог нэгээр оруулан шалгах ажиллагаа төвөгтэй байвал

 гэж шалгалтыг хийсэн ч болно.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 408 Төлбөртэй

Хичээлээр олон удамшилтын онцгой төрөл болох миксиний талаар авч үзнэ. Миксинд дүрмийн ямар нэгэн өөр бичилт байхгүй ч утгын талаасаа онцгой учиртай. Хамгийн гол онцлог нь миксинийг тодорхой классуудын шатлалын суурь класс байдлаар зохиодоггүйд оршино. Өөрөөр хэлбэл тэдгээрийг дурын класстай хольж болдог. Үүнийг машин классийн жишээгээр авч үзье.

  Нээгдсэн тоо: 987 Нийтийн

Tuple төрөл хичээлээр үзсэн жишээнүүдэд tuple -ийн элементүүдийг нэрлээгүй. Өөрөөр хэлбэл төрлийн элементүүдэд зөвхөн индексээр нь хандаж байсан. Гэтэл tuple -д бие биетэйгээ холбоо бүхий өгөгдлийн багцыг голлон хадгалдаг гэдгээс түүнд индексээс өөрөөр классын шинж байдлаар ханддаг болбол илүү ойлгомжтой, эвтэйхэн болохоор. Python -ий элементүүдэд нь нэр өгч болдог namedtuple буюу нэрлэгдсэн tuple гэдэг класстай төстэй төрөл энэ боломжийг олгохыг жишээгээр харцгаая.

  Нээгдсэн тоо: 1040 Төлбөртэй

Хичээлээр функц ашиглахтай холбоотой нэгэн чухал онцлогийн талаар үзэх болно. Чухамдаа бол функцууд нэгийгээ агуулах болон функцийн хувьсагчдын харагдах хүрээний тухай юм.
Хувьсагчдын харагдах хүрээнд тэдгээртэй харьцахад LEGB дүрмийг баримталдаг. Энд L - local /функц доторх/, E - enclosing function local /дотоод функцээр хаагдсан/, G - global /глобал/, B - built in /дотоодын/ гэсэн үгнүүд болно. Орчуулга сайнгүй тул англи хэллэгээр нь тогтоогоод авсан нь илүү.

  Нээгдсэн тоо: 1289 Төлбөртэй

Програмын ажиллагааны логикийн салаалалтыг харьцуулалтын операторуудгүйгээр төсөөлөх боломжгүй. Програмчлалын аль ч хэл дээр ямарч програмын кодчлолыг хийхэд харьцуулалтын операторууд зайлшгүй хэрэгтэй болдог тул эдгээрийг ашиглаж сурсан байх шаардлагатай. Хичээлээр харьцуулалт хийх суурь зарчмуудыг авч үзье.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 140

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 205

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 170

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 293

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 322

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 329

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 401

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 402

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 475

 
Энэ долоо хоногт

үйлдлийг дөт аргаар гүйцэтгэ.

Нээгдсэн тоо : 1808

 

1, 2, 3, 4, 5, 6 цифрүүдийг ашиглан цифр давталгүй, 2 ба 4 цифр зэрэгцэн орсон байх таван оронтой хичнээн тоо үүсгэж болох вэ?

Нээгдсэн тоо : 1192

 

Суурийн талбай нь 8 , хажуу ирмэг нь 6 -тай тэнцүү ABCA1B1C1 зөв гурвалжин призм өгөгджээ. Призмийн ACA1B1C1 оройнуудад оройтой олон талстын эзэлхүүнийг ол.

Нээгдсэн тоо : 1315