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

იმის მიუხედავად რომ ხანდახან Windows და macOS არ გვაჩვენებენ ფაილების გაფართოებებს, ფაილების უმეტესობას აქვთ ისინი. გაფართოება არის ფაილის სახელის დაბოლოება რომელიც წერტილით იწყება (.) და გაფართოების შესაბამისი აბრევიატურით სრულდება. მაგალითად GIF ფაილების გაფართოებაა .gif. ასევე JPEG ფაილებისთვის ძირითადად გამოიყენება .jpg ან .jpeg გაფართოებები.

გაფართოებები მნიშვნელოვან როლს თამაშობენ ჩვენს ყოველდღიურობაში. ჩვენი კომპიუტერი ამ გაფართოების მიხედვით ხვდება რომელი პროგრამით გაგიხსნათ თქვენთვის სასურველი ფაილი როდესაც მას ორჯერ დააკლიკებთ.

შედარებით განსხვავებულად მუშაობენ ვებ ბროუზერები (Chrome, Mozilla, Safari და ა.შ.). ისინი იყენებენ მედია ტიპებს / MIME ტიპებს და მათი საშუალებით არკვევენ როგორ გაჩვენონ ამა თუ იმ ტიპის ფაილი. როგორც წესი, მედია ტიპი მითითებულია ხოლმე HTTP სათაურში და იგზავნება სერვერის მხრიდან ფაილთან ერთად. მაგალითად GIF ფაილის ნახვას თუ ეცდებით რომელიმე საიტზე, ამ საიტის სერვერი ფაილთან ერთად გამოგიგზავნით მის მედია ტიპსაც რომელიც ასე გამოიყურება image/gif. თუ რომელიმე JPEG ტიპის ფაილის ნახვას ეცდებით, მაშინ მისი ტიპი იქნება image/jpeg. იმის გასარკვევად თუ რა მედია ტიპი გამოაგზავნოს ფაილთან ერთად, სერვერი ძირითადა ისევ ფაილის გაფართოებას ეყრდნობა ხოლმე და იცის რომელ გაფართოებას რომელი მედია ტიპი შეესაბამება. 

აქ დაათვალიერე https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types ხშირად გამოყენებადი მედია ტიპები.

დავალება

ფაილში სახელად extensions.py შექმენით პროგრამა რომელიც მომხმარებელს ჰკითხავს რაიმე ფაილის დასახელებას (გაფართოებიანად მაგ. bitcamp.jpeg) და პასუხად დააბრუნებს ამ ფაილის მედია ტიპს (მაგ. image/jpeg). გაითვალისწინე რომ მნიშვნელობა არ აქვს გაფართოება პატარა თუ დიდი ასოებით იქნება შეყვანილი, შენმა პროგრამამ მაინც უნდა იმუშაოს. შენმა პროგრამამ მაშინაც უნდა იმუშაოს თუ შეყვანილ ინფორმაციას სფეისები/ცარიელი ადგიელბი აქვს თავსა და ბოლოში. 

შენმა პროგრამამ უნდა იმუშაოს შემდეგი გაფართოებებისთვის:

  • .gif
  • .jpg
  • .jpeg
  • .png
  • .pdf
  • .txt
  • .zip

თუ ფაილის სახელი ბოლოვდება რაიმე სხვა გაფართოებით (ისეთით რომელიც ზემოთ მოცემულ სიაში არ არის) მაშინ შენმა პროგრამამ მედია ტიპად უნდა დააბრუნოს application/octet-stream რაც მიღებული პრაქტიკაა როცა ვერ ცნობ ფაილის გაფართოებას.

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

 

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

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

 

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

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

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

გატესტე ხელით
  • გაუშვი შენი პროგრამა python extensions.py, აკრიფე happy.jpg და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს image/jpeg.
  • გაუშვი შენი პროგრამა python extensions.py, აკრიფე document.pdf და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს application/pdf.
  • გაუშვი შენი პროგრამა python extensions.py, აკრიფე forty-two და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს Yes.
  • გაუშვი შენი პროგრამა python extensions.py, აკრიფე 50 და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს No.

ყურადღება! – დარწმუნდი რომ შენი პროგრამა იმუშავებს დიდი/პატარა ასოებით ინფომრაციის შეყვანის შემთხვევაშიც. ისე ავტომატურ შემოწმებას ვერ გაივლი. 

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

ავტომატური გატესტვა – check50

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

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

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

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

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

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

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

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

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