Тоог таа

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

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

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

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

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

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

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

Python -нд модулаас гадна пакетийг үүсгэж болно. Энгийнээр бол модул гэдэг нь .py өргөтгөлтэй файлд хадгалсан бусад .py өргөтгөлтэй файлын код ашиглаж болох скрипт. Пакет бол модулуудийг логикийн талаас нь нэгтгэсэн нэгдэл. Текст засварлагчид үүсгэсэн кодоо .py өргөтгөлтэй файлаар хадгалахад л модул үүсдэг бол пакетийг үүнээс арай өөрөөр үүсгэдэгийг хичээлээр авч үзье.

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

олон гишүүнтийн язгуурууд x1, x2, x3 (x1<x2<x3) бол
1.
2. x1, x2, x3 арифметик прогрес үүсгэх бол
3. Уул прогрессын ялгавар
4.

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

 

sin90 -ийг олно уу.

Жич: Хатуу самар даа. Сурагчид барна гэхэд хүнд болов уу. ЕБС-ийн хүрээний аргаар л бодолтыг хийж байгаа тул бодолтыг харвал гайгүй ч юм шиг санагдаж магадгүй гоё бодлого.

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

 

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

Жич: Бодох арга орж ирж байна уу. Найз нөхөд, багштайгаа хамжаад үзээрэй. Иймэрхүү бодлогууд сэтгэлгээг хөгжүүлэх, арга техникт суралцахад тустай. 

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