Тоог таа

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

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

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

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

Өгөгдлийн багцыг үүсгэн ашиглахад ихээхэн чухал үүрэгтэй төрөл бол толь буюу dictionary /dict/ юм. Програмчлалын хэлний өгөгдлийн төрлүүдийг тодорхой ажиллагаанд зориулан бий болгосон байдаг тул тэдгээрийн хооронд нь харьцуулан зэрэглэл тогтоох гэх нь буруу. Өөрөөр хэлбэл толь, жагсаалт, tuple зэрэг өгөгдлүүдийн төрлүүдийг хооронд харьцуулах шаардлагагүй гэсэн үг.

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

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

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

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

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

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

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

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

Зарим тохиолдолд програмийн кодоос exception буюу алдааг хаяулах шаардлага гарна. Тодорхой ажиллагааг хийх функцэд буруу параметрүүдийг дамжуулах, хэрэглэгчээс оруулсан өгөгдөлд алдаа байгааг мэдэгдэх гэх мэтээр олон тохиолдолд кодоос алдаа хаяулах шаардлага гардаг. Үүнийг Героний томьёогоор гурвалжны талбайг олох функцийн

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

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

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

 

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

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