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

Функц сэдвийн дадлага болгон хэрэглэгчээс оруулсан ром тоог араб тоо болгох функцийг бичье. Жишээ нь "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 тольд тодорхойлсон тоонуудтай тохирч байгаа шалгалтыг нэмэн оруулахыг танд үлдээе. Тоог нэгээр оруулан шалгах ажиллагаа төвөгтэй байвал

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

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

  Нээгдсэн тоо: 1241 Бүртгүүлэх

collection -ийг багц эсхүл цуглуулга гэж орчуулж болох ч өргөн ашиглааад байдаггүй тул collection нэрээр нь ашиглах нь илүү. tuple бол collection төрлийнх. tuple -ийг энгийнээр өөрчлөлт авдаггүй жагсаалт гэж ойлгож болно. tuple -төрлийг жишээнүүдээр авч үзье.

  Нээгдсэн тоо: 1249 Бүртгүүлэх

Ямарч програмын ажиллагаа өгөгдлийн төрлүүд дээр үндэслэн ажилладаг учраас програмчлалын хэлүүд өөрийн суурь өгөгдлийн төрлүүдтэй байдаг. Энгийн өгөгдлүүдийн төрлүүдээр илүү нарийн төрлүүдийг гарган эцсийн бүлэгт эдгээрийг хослуулан програмыг бүтээдэг. Нэг үгээр програм зохиохыг барилга барихтай зүйрлэбэл өгөгдлийн төрлүүд бол барилгын тоосго л гэсэн үг. Python -ий суурь буюу өөрт нь агуулагдаж байдаг өгөгдлийн төрлүүдийн талаар авч үзье.

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

Декораторийн суурь ойлголтод бас нэгэн чухал зүйлийг ойлгох хэрэгтэйг Декораторууд хичээлд үүсгэсэн

log_decorator -ийн жишээн дээр харцгаая.

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

Хичээлээр dunder method буюу "шидэт арга" -ын талаар авч үзье. dunder гэдэг нь хоёр доогуур зураас бөгөөд эдгээр тэмдэгтээр тэмдэглэгдсэн аргуудыг "шидэт арга" буюу тусгай арга гэж нэрлэдэг. Ийм аргуудыг хэрэглэгчийн кодод дахин тодорхойлон ажиллагааны логикийг өөрчлөх боломж байдаг. Асуудлыг дараах

жишээгээр авч үзье.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

тэгшитгэлийн нэг язгуур нь эерэг, нөгөө язгуур нь сөрөг байх параметрийн бүх утгыг ол.
Тэнцэтгэл бишийн нэг шийд нь M -ээс бага нөгөө шийд нь M -ээс их байх гарцаагүй ба хүрэлцээтэй нөхцөлийг ашиглавал болох бөгөөд энэ тэнцэтгэл бишийг бодвол үед манай тэнцэтгэл бишийн шийдийн нэг нь эерэг нөгөө нь сөрөг байна.

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

 

функц [1;9] завсарын аль хэсэгт буурах вэ?

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

 

функцийн хамгийн бага утгыг ол.

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