კურსის შიგთავსი
შესავალი და კურსის შესახებ
ინფორმაცია კურსის შესახებ. გამოყენებული ხელსაწყოები. სერტიფიკატები.
0/4
კომენტარები და ფსევდო კოდი
0/2
და თუ დაემთხვევა? | Match
0/1
დავალებები 7
0/1
დავალებები 8
0/1
ფინალური პროექტი
0/1
Python პროგრამირების საფუძვლები

პატარა პროფესორი 70 – იანების შემეცნებითი სათამაშო იყო, “კალკულატორის” ფუნქციებით. 

ეს სათამაშო აგენერირებს სხვადასხვა მათემატიკურ მაგალითებს და შენ უნდა შეიყვანო პასუხი. მაგალითად თუ დაგიგენერირა 4 + 0 = შენ უნდა შეიყვანო 4 რომ სწორი პასუხი გასცე. 4 + 1 = ამ შემთხვევაში 5. 
თუმცა თუ არასწორ პასუხს შეიყვან, ეკრანზე იწერება სამი ცალი EEE შეცდომის მანიშნებლად.
თუ სამჯერ შეიყვან არასწორ პასუხს, მაშნ სათამაშო თავადვე გაჩვენებს სწორ პასუხს.

დავალება

ფაილში სახელად professor.py შექმენი პროგრამა:

  • რომელიც მომხმარებელს ჰკითხავს თამაშის სირთულის შესახებ (Level) რომელსაც დავარქვათ n და თუ მომხმარებელი არ შეიყვანს 1, 2 ან 3 – ს მაშინ ახლიდან ჰკითხავს იგივეს.
  • რენდომად (შემთხვევითობის პრინციპით) დააგენერირებს 10 მაგალითს, ფორმატირებულს ასე X + Y = სადაც X და Y არის არანეგატიური მთელი რიცხვები n რაოდენობის ციფრებით (1 – ის შემთხვევაში ერთნიშნა, 2 – ის შემთხვევაში ორნიშნა, 3 – ის შემთხვევაში სამნიშნა). არ არის საჭირო სხვა ოპერაციების მხარდაჭერა. მხოლოდ შეკრების ოპერაციაც საკმარისია (+).
  • პროგრამამ სათითაოდ უნდა გამოიტანოს ათივე მაგალითი და შეაყვანინოს მომხარებელს პასუხები. თუ პასუხი არასწორია ან საერთოდ რიცხვიც კი არ არის, მაშინ უნდა გამოიტანოს EEE შეცდომის მანიშნებლად. თითოეულ მაგალითზე პროგრამამ მომხმარებელს უნდა მისცეს 3 ცდა. სამივე შემთხვევაში არასწორი შედეგის მიღებისას უნდა გამოიტანოს სწორი პასუხი და გადავიდეს შემდეგ მაგალითზე.
  • საბოლოოდ პროგრამამ უნდა გამოიტანოს მომხმარებლის ქულა იმის მიხედვით თუ რამდენი სწორი პასუხი ჰქონდა მომხმარებელს. მაქსიმუმ 10 ქულა. 

შენი პროგრამის სტრუქტურა იყოს ასეთი: 

import random


def main():
    ...


def get_level():
    ...


def generate_integer(level):
    ...


if __name__ == "__main__":
    main()

სადაც get_level ფუნქცია ეკითხება (და საჭიროების შემთხვევაში გაუმეორებს) მომხმარებელს ინფორმაციას სირთულის(level) შესახებ და აბრუნებს 1, 2 ან 3 – ს.

generate_integer  ფუნქცია აბრუნებს შემთხვევთ დაგენერირებული პოზიტიურ, მთელ რიცხვს level – ის მიხედვით (ერთნიშნა, ორნიშნა ან სამნიშნა) ან გაისვრის(raise) ValueError exception – ს თუ level არ არის 1, 2, ან 3. 

 

მინიშნებები:

      • გაითვალისწინე რომ შენც შეგიძლია exception – ის გასროლა raise – ის გამოყენებით:
        raise ValueError
      • გაიხსენე რომ random მოდულს საკმაოდ გამოსადეგი ფუნქციები აქვს https://docs.python.org/3/library/random.html

სანამ დაიწყებ

  1. Terminal – ში გაუშვი ბრძანება cd – ამ ბრძანების გაშვებით თავს დაიზღვევ რომ ნამდვილად შენს მთავარ ფოლდერში ხარ. 
  2. შემდეგ ისევ Terminal – ში გაუშვი ბრძანება mkdir professor – ამ ბრძანებით შექმნი ახალ ფოლდერს სახელად meal შენი დავალებისთვის.
  3. შემდეგ გაუშვი cd professor - ამ ბრძანებით შეხვალ შენს მიერ შექმნილ professor ფოლდერში. 
  4. ახლა ამ ფოლდერში შექმენი ფაილი სახელად professor.py – ამ ბრძანების გამოყენებით code professor.py
  5. დაიწყე დავალების შესრულება professor.py ფაილში.

 

Demo – როგორ უნდა მუშაობდეს შენი პროგრამა?

როგორ უნდა გატესტო შენი პროგრამა?

როდესაც ჩათვლი რომ შედეგს მიაღწიე და გინდა დარწმუნდე რომ შენი პროგრამა სწორად მუშაობს, შეგიძლია გატესტო რამდენიმე გზით. 

გატესტე ხელით
  • გაუშვი შენი პროგრამა python professor.py. როცა გამოჩნდება Level: აკრიფე cat და დააჭირე Enter – ს. შენმა პროგრამამ ისევ უნდა გაჩვენოს:
    Level:
 
ავტომატური გატესტვა – check50

მას შემდეგ რაც ხელით გატესტავ და ჩათვლი რომ შენი პროგრამა სავარაუდოდ სწორად მუშაობს, შეგიძლია ავტომატური ტესტირების სისტემაც გამოიყენო. 

ამისათვის Terminal – ში გაუშვი ასეთი ბრძანება check50 cs50/problems/2022/python/professor

მწვანე სმაილები ნიშნავს რომ შენმა პროგრამამ გაიარა ტესტი. 

წითელი მოწყენილი სახეები ნიშნავს რომ შენმა პროგრამამ კონკრეტულ შემთხვევებში არასწორად იმუშავა და იმ შემთხვევების შესაბამისად უნდა გამოასწორო მანამ სანამ მწვანე სმაილს არ მიიღებ.

check50 ასევე დაგიბრუნებს მისამართს რომელსაც შეგიძლია ეწვიო და ნახო ზუსტად რა მნიშვნელობებზე გაიტესტა შენი პროგრამა.

როგორ გავაგზავნოთ ნამუშევარი Harvard – ის სისტემაში?

მას შემდეგ რაც ხელით და ავტომატური გატესტვავ და დარწმუნდები რომ ყველაფერი რიგზეა, submit50 – ბრძანების გამოყენებით შეგიძლია გააგზავნო შენი ნამუშევარი Harvard – ის სისტემაში.

ზუსტი ბრძანება ასე გამოიყურება: submit50 cs50/problems/2022/python/professor

სწავლა და ბრძოლა