Тоог таа

Өмнөх хичээлүүдэд сурсан логик шалгалт, циклийн мэдлэгээ ашиглан програмчлалын стандарт жишээ "Тоог таа" энгийн тоглоомын програмыг бичье. Тоглоомын логик нь компьютер 1 -50 -ын хооронд санамсаргүй байдлаар сонгосон тоог хэрэглэгч 6 удаагийн оролдлогоор олох юм. Та програмийн кодийг өмнөх хичээлүүдээр сурсан бүтцүүдийг ашиглан бичих гээд үзээрэй.

Санамж: Тавигдсан асуудлын шийдлийг өөрөө олон кодлож сурахыг байнга эрмэлзэх хэрэгтэй. Ер нь програм бүтээх бол олон чиглэлийн мэрэгжилтнүүдийн хамтын ажил байдаг. Бид програмчлалийн python хэлийг судалж байгаа тул кодлогчдод тавигдах асуудлыг хэрхэн шийдэхэд л анхааран бэлэн алгоритм бүхий энгийн "Тоог таа" тоглоомыг сонгосон хэрэг.

"Тоог таа" програмийн нэгэн хэрэгжүүлэлтийг кодийг

import random
tries = 0
number = random.randint(1,50)
print('1 -ээс 50 -ын хооронд санасан тоог таагаарай...')
while tries < 6:
    guess = int(input('Тоогоо оруулна уу:'))
    tries += 1
    if guess < number:
        print('Таны тоо бага байна.')
    if guess > number:
        print('Таны тоо их байна.')
    if guess == number:
        print(f'Баяр хүргэе! Та тоог {tries} оролдлогоор оллоо.')
        break
    if guess != number and tries == 6:
        print(f'Уучлаарай, та тоог тааж чадсангүй. Санасан тоо {number} байлаа.')
        break

авч үзье. Дээрх код бол програмийн логикийн хэрэгжүүлэлтийн нэг л хувилбар тул таны кодоос өөр байж болно. Тоглоомыг та өөрөөр кодлон зөв ажиллаж байвал их сайн буюу өмнөх хичээлүүдийг сайн ойлгосон гэсэн үг. Компьютер тоог санах учраас санамсаргүй тооны random модулийн импортыг хийгээд хэрэглэгчийн таах оролдлогын tries хувьсагчид 0 анхны утгыг олгоно. Дараа нь random.randint(1,50) командаар 1-50 хооронд санамсаргүй тоог өгүүлээд түүнийг number хувьсагчид аваад компьютер "1 -ээс 50 -ын хооронд санасан тоог таагаарай..." мэдээллийг дэлгэцэнд харуулаад тоглоом эхлэнэ. random модулийн randint арга параметрээр өгөгдсөн тоонууд хооронд санамсаргүй бүхэл тоог буцаадаг. Хэрэглэгч нийт 6 оролдлогоор санасан тоог олох тул tries хувьсагч зургаа хүртэл while циклийг эхлүүлье. Циклийн алхам эхлэх бүрд guess = int(input('Тоогоо оруулна уу:')) командаар хэрэглэгчийн оруулсан тоог int функцээр бүхэл тоо болгон guess хувьсагчид авна. Үүний дараа оролдлогын tries хувьсагчийг нэгээр нэмээд хэрэглэгчээс оруулсан тоог шалгах логикийг хийнэ.
Логикийн операторууд энгийн тул тайлбар хийгээд байх шаардлагагүй болов уу. Хэрэглэгчийн тоо санасан тооноос бага эсхүл их бол тохирох мэдээллийг өгнө. Хэрэглэгчийн тоо санасан тоотой тэнцвэл хэрэглэгчид баяр хүргээд тоог хэдэн оролдлогоор олсонг мэдэгдэнэ. Харин хэрэглэгчийн тоо санасан тоотой тэнцүү биш бөгөөд оролдлогын тоо 6 болсон бол даалгаварыг биелүүлж чадаагүй тухай мэдээллийг санасан тооны хамтаар үзүүлнэ.
Програмийг ажлуулбал

Эхний оролдлогын тоо авах цонх нээгдэнэ. 1-50 -ын хооронд тоо санасанг мэдэж байгаа тул хоёртын модны зарчмаар 25 -ыг өгье.

Таны оруулсан тоо их байна гэсэн тул 13 -ыг өгвөл

тоог таасан тухай мэдээллийг өглөө. Та програмийн ажиллагааг туршин үзэж бүх логик зөв ажиллаж байгааг шалгаарай.
Санамж: Хэрвээ хэрэглэгч тооны оронд тэмдэгт оруулбал програм алдаа өгнө. Үүнийг боловсруулах, хаах аргыг одоохондоо үзээгүй тул алдааг анзаарахгүй байж болно.

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

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

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

Толь буюу dict төрлийг Толь /dict/ хичээлээр үзсэн. Энэ удаад collections модулийн ordereddict төрөл dict төрлөөс ямар ялгаатайг авч үзье. Jupyter Notebook орчинд оруулсан

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

Эхлэн суралцагчдад Python -ий ямар хувилбараас эхлэх асуудал үүсдэг. Python 2 -ийг 2020 оноос эхлэн хөгжүүлэлтийг зогсоосон тул Python 3 -ийг суралцах сууриар авах нь зөв. Python хэлний нэг онцлог шинэ хувилбар өмнөх хувилбараа дэмждэггүйд оршино.  Хувилбаруудын суурь маш төстэй ч Python 3Python 2 -ийн зарим нэгэн асуудлыг шийдвэрлэсэн тул энэ хэсэгт хувилбарууд тохирохгүй. 2020 оноос Python 2 -ийн хөгжүүлэлт зогсож байгаа хэдий ч хувилбар бүрмөсөн байхгүй болохгүй нь ойлгомжтой. Хувилбаруудын суурь маш төстэй тул та Python 3 -ийг сурснаар Python 2 -ийн кодийг төвөггүй ойлгоно. Python 3 -ын бас нэгэн давуу нь хувилбар анхдагчаар Unicode -ийг дэмждэг болсон нь тэмдэгтийн кодчлолд гардаг олон хүндрэлүүдийг шийдсэн.

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

тэнцэтгэл бишийг бод.

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

 

илэрхийллийн x=3 утгыг ол.

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

 

16 см суурьтай, 10 см хажуу талтай адил хажуут гурвалжин өгөгджээ. Гурвалжинд багтсан болон гурвалжинг багтаасан тойргуудын радиус болон тойргуудын төв хоорондын зайны нийлбэрийг ол.

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