როგორც საქართველოში, ამერიკაშიც შესაძლებელია მოითხოვო შენი მანქანის ისეთი სანომრე ნიშანი რომელზეც შენი სურვილისამებრ ეწერება რამე.
თუმცა ამერიკაში, მასაჩუსეტსის შტატში, სანომრე ნიშნის მოთხოვნისას ასეთი წესები მოქმედებს:
- – ყველა ნომერი უნდა დაიწყოს მინიმუმ 2 ასო-ბგერით;
- – ნომერი უნდა შეიცავდეს მაქსიმუმ 6 სიმბოლოს (ასო-ბგერებსა და რიცხვებს ჯამში) და მინიმუმ 2 სიმბოლოს.
- – ნომრის შუაში რიცხვების გამოყენება არ შეიძლება. რიცხვები აუცილებლად ბოლოში უნდა მოხვდეს. მაგალითად მისაღები იქნება AAA222. მაგრამ მიუღებელი იქნება AAA22A. ასევე პირველი რიცხვიც არ შეიძლება იყოს 0 – AAA022 – მიუღებელია.
- – არ შეიძლება გამოიყენო წერტილები, ცარიელი ადგილები ან რაიმე პუნქტუაციის ნიშნები.
დავალება
ფაილში სახელად plates.py შექმენი პროგრამა რომელიც ჰკითხავს მომხმარებელს სანომრის შესახებ და უპასუხებს ვალიდურია თუ არა შეყვანილი ინფორმაცია ზემოთ მოცემული წესების მიხედვით.
თუ სწორია უპასუხებს Valid და წინააღმდეგ შემთხვევაში Invalid.
ჩათვალე რომ მომხმარებლის მიერ შეყვანილი ასო-ბგერები იქნება დიდები (uppercase).
გამოიყენე ქვემოთ მოცემული საწყისი კოდი შენი პროგრამის სტრუქტურის შესაქმნელად. is_valid ფუნქცია იღებს მომხმარებლის მიერ შეყვანილ ტექსტს და უნდა დააბრუნოს True ან False. იმისთვის რომ is_valid ფუნქცია აამუშაო, შეგიძლია შექმნა დამატებით სხვა ფუნქციები თითოეული წესის შესამოწმებლად და სათითაოდ გამოიძახო ყველა. (გაიხსენე გაკვეთილიდან, ფუნქციები შეგიძლია გამოიყენო პრობლემის დასახლეჩად და თითოეულს მისცე მხოლოდ 1 პრობლემის გადაწყვეტის პასუხისმგებლობა).
def main():
plate = input("Plate: ")
if is_valid(plate):
print("Valid")
else:
print("Invalid")
def is_valid(s):
...
main()
მინიშნებები:
-
-
- გაიხსენე რომ str – ს საკმაოდ ბევრი სასარგებლო მეთოდი აქვს: https://docs.python.org/3/library/stdtypes.html#string-methods
- როგორც list ასევე str – ც სიმბოლოების თანმიმდევრობაა. რაც ნიშნავს რომ ის შეიძლება “დანაწევრდეს/sliced” უფრო პატარა სტრინგებად ასეთი სინტაქსით s[i:j]. მაგალითად თუ s – ის მნიშვნელობაა არის “CS50” მაშინ s[0:2] იქნება “CS” – ანუ პირველ ორ სიმბოლოს ამოჭრი მაგ გზით.
-
სანამ დაიწყებ
- Terminal – ში გაუშვი ბრძანება
cd
– ამ ბრძანების გაშვებით თავს დაიზღვევ რომ ნამდვილად შენს მთავარ ფოლდერში ხარ. - შემდეგ ისევ Terminal – ში გაუშვი ბრძანება
mkdir
plates – ამ ბრძანებით შექმნი ახალ ფოლდერს სახელად meal შენი დავალებისთვის. -
შემდეგ გაუშვი cd plates - ამ ბრძანებით შეხვალ შენს მიერ შექმნილ plates ფოლდერში.
- ახლა ამ ფოლდერში შექმენი ფაილი სახელად
plates.py
– ამ ბრძანების გამოყენებითcode plates.py
- დაიწყე დავალების შესრულება
plates.py
ფაილში.
Demo – როგორ უნდა მუშაობდეს შენი პროგრამა?
როგორ უნდა გატესტო შენი პროგრამა?
როდესაც ჩათვლი რომ შედეგს მიაღწიე და გინდა დარწმუნდე რომ შენი პროგრამა სწორად მუშაობს, შეგიძლია გატესტო რამდენიმე გზით.
გატესტე ხელით
- გაუშვი შენი პროგრამა python plates.py, აკრიფე CS50 და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს Valid.
- გაუშვი შენი პროგრამა python plates.py, აკრიფე CS05 და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს Invalid.
- გაუშვი შენი პროგრამა python plates.py, აკრიფე CS50P და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს Invalid.
- გაუშვი შენი პროგრამა python plates.py, აკრიფე PI3.14 და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს Invalid.
- გაუშვი შენი პროგრამა python plates.py, აკრიფე H და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს Invalid.
- გაუშვი შენი პროგრამა python plates.py, აკრიფე OUTATIME და დააჭირე Enter ღილაკს. შენმა პროგრამამ უნდა დაგიბრუნოს Invalid.
ავტომატური გატესტვა – check50
მას შემდეგ რაც ხელით გატესტავ და ჩათვლი რომ შენი პროგრამა სავარაუდოდ სწორად მუშაობს, შეგიძლია ავტომატური ტესტირების სისტემაც გამოიყენო.
ამისათვის Terminal – ში გაუშვი ასეთი ბრძანება check50 cs50/problems/2022/python/
plates
მწვანე სმაილები ნიშნავს რომ შენმა პროგრამამ გაიარა ტესტი.
წითელი მოწყენილი სახეები ნიშნავს რომ შენმა პროგრამამ კონკრეტულ შემთხვევებში არასწორად იმუშავა და იმ შემთხვევების შესაბამისად უნდა გამოასწორო მანამ სანამ მწვანე სმაილს არ მიიღებ.
check50 ასევე დაგიბრუნებს მისამართს რომელსაც შეგიძლია ეწვიო და ნახო ზუსტად რა მნიშვნელობებზე გაიტესტა შენი პროგრამა.
როგორ გავაგზავნოთ ნამუშევარი Harvard – ის სისტემაში?
მას შემდეგ რაც ხელით და ავტომატური გატესტვავ და დარწმუნდები რომ ყველაფერი რიგზეა, submit50 – ბრძანების გამოყენებით შეგიძლია გააგზავნო შენი ნამუშევარი Harvard – ის სისტემაში.
ზუსტი ბრძანება ასე გამოიყურება: submit50 cs50/problems/2022/python/
plates
სწავლა და ბრძოლა