حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود

برنامه مدیریت پارکینگ

تمرین آسان 6825 visibility link download flag trending_up پربازدید

برنامه مدیریت پارکینگی بنویسید که:

هنگام ورود، ساعت ورود و شماره پلاک خودرو ذخیره شود
هنگام خروج، ساعت خروج برای خودرو مورد نظر ذخیره شود
در هر لحظه وضعیت خودروها (در پارکینگ، خارج شده) و سایر اطلاعات قابل مشاهده باشد
هنگام خروج، هزینه پارکینگ به صورت زیر محاسبه و نمایش داده شود (ورودی ثابت 5000 تومان، برای بیشتر از 6 ساعت به ازای هر ساعت اضافه 1000 تومان اضافه شود)
این تمرین یه پروژه ست! یعنی پتانسیل اینو داره که خیلی بیشتر روش کار بشه بنابراین ایده اصلی رو از اینجا بردار و خودت بیشتر روش کار کن تا به یه تمرین بزرگتر تبدیل یشه
👨‍💻 7 ساعت قبل کاربر ناشناس این تمرین رو مشاهده کرد

reply 15

visibility
from datetime import datetime  
class ParkingManagement:  
    def __init__(self):  
        self.list_car = {} 

    def entry_car(self, car_plate, entry_time):  
        self.list_car[car_plate] = entry_time  
        print(f"Car with plate: {car_plate} at time: {entry_time} entered the parking lot")  

    def exit_car(self, car_plate):  
        try:  
            entry_time_str = self.list_car.pop(car_plate)  
            entry_time = datetime.strptime(entry_time_str, "%H:%M")  
            exit_time = datetime.now()   
            duration = (exit_time - entry_time).seconds / 3600   

            base_cost = 5000  
            if duration <= 6:  
                total_cost = base_cost  
            else:  
                extra_hours = duration - 6  
                total_cost = base_cost + (extra_hours * 1000)  

            print(f"Car with plate: {car_plate} left the parking lot.")  
            print(f"Total parking duration: {duration:.2f} hours")  
            print(f"Total cost: {total_cost:.2f} Toman")  
        except KeyError:  
            print(f"Car with plate: {car_plate} is not in the parking lot")  

    def parking_information(self, car_plate):  
        data = self.list_car.get(car_plate, 'This car is not available in the parking lot')  
        print(data)  

    def add_car_info(self):  
        car_plate = input("Enter the car license plate number: ")  
        entry_time = input("Enter the entry time (format HH:MM): ")  
        self.entry_car(car_plate, entry_time)  

 
parking_lot = ParkingManagement()  
parking_lot.add_car_info()  

car_plate_to_check = input("Enter the car license plate number to check its information: ")  
parking_lot.parking_information(car_plate_to_check)  
 
car_plate_to_exit = input("Enter the car license plate number to exit: ")  
parking_lot.exit_car(car_plate_to_exit)
import arabic_reshaper
from bidi.algorithm import get_display
from datetime import datetime, timedelta
import sqlite3
cnn = sqlite3.connect('parking.db')
cursor = cnn.cursor()

cursor.execute('''CREATE TABLE IF NOT EXISTS parking
                (id INTEGER PRIMARY KEY,
                time_in text NOT NULL,
               number_plate TEXT NOT NULL,
                 time_out TEXT DEFULT NULL,
                 status INTEGER DEFAULT 1,
                price INTEGER DEFAULT 0)''')
cnn.commit()

def add_slot():
    time_in = datetime.now().strftime("%H:%M")#زمان رو از سیستم بصورت ساعت و دقیقع
    number_plate =input("Enter the number plate (e.g., 1234567): ")
    alfa = input("Enter the alphabet (e.g., 'A' or 'ب'): ")

    if number_plate.isdigit() and len(number_plate) ==7: 
        formatted_number_plate = (number_plate[:2] + alfa.upper() + number_plate[2:5] + '--' + number_plate[5:])#شماره پلاک رو به شکل صحیحی تغییر میکنیم و بهش حروف اضاف میکنیم
        cursor.execute('''INSERT INTO parking (time_in, number_plate, status) VALUES (?,?,'1')''', (time_in, formatted_number_plate))
        cnn.commit()
        text_true =("رکورد با موفقیت اضافه شد.") 
        text_success = ("✔پلاک با موفقیت اضافه شد.")
        re_text = arabic_reshaper.reshape(text_success)
        re_text1 = arabic_reshaper.reshape(text_true)#با این خط کد خروجی رو به زبان فارسی نمایش میدیم
        bidi =  get_display(re_text)
        bidi1 =  get_display(re_text1)
        print(bidi1)
    else:
        text_error = ("شماره پلاک باید فقط شامل ۷ رقم عددی باشد.")
        re_text = arabic_reshaper.reshape(text_error)
        bidi =  get_display(re_text)
        print(bidi)

def update_slot():

    time_oute = datetime.now().strftime("%H:%M")#زمان رو از سیستم بصورت ساعت و دقیقع
    number_plate = input("Enter the number plate: ")#شماره پلاک رو وارد میکنیم
    alfa = input("Enter the alphabet: ")#حروف کوچک رو وارد میکنیم
    # number_plate = (number_plate[3:] + alfa.upper() + number_plate[3:] + '--' + number_plate[-2:])#شماره پلاک رو به شکل صحیحی تغییر میکنیم و بهش حروف اضاف میکنیم
    if number_plate.isdigit() and len(number_plate) == 8:
        formatted_number_plate = (number_plate[:2] + alfa.upper() + number_plate[2:5] + '--' + number_plate[5:])
        cursor.execute('''INSERT INTO parking (time_oute, number_plate, status) VALUES (?,?,'0')''', (time_oute,formatted_number_plate))
        cnn.commit()
        print("رکورد با موفقیت اضافه شد.") 
        text_success = ("✔پلاک با موفقیت اضافه شد.")
        re_text = arabic_reshaper.reshape(text_success)#با این خط کد خروجی رو به زبان فارسی نمایش میدیم
        bidi =  get_display(re_text)
        print(bidi)
    else:
        text_error = ("شماره پلاک باید فقط شامل ۷ رقم عددی باشد.")
        re_text = arabic_reshaper.reshape(text_error)
        bidi =  get_display(re_text)
        print(bidi)
        return

# #به‌روزرسانی وضعیت خودروهایی که زمان خروج دارن
# def 
# cursor.execute('''
# UPDATE parking
# SET status = 0
# WHERE time_out IS NOT NULL
# ''')
# cnn.commit()

 #انتخاب خودروهایی با پلاک خاص
def search_slot():
    number_plate = input("Enter the number plate: ")
    alfa = input("Enter the alphabet (e.g., 'A' or 'ب'): ")
    formatted_number_plate = (number_plate[:2] + alfa.upper() + number_plate[2:5] + '--' + number_plate[5:])

    cursor.execute("SELECT * FROM parking WHERE number_plate = ?", (formatted_number_plate,))
    rows= cursor.fetchone()
    if rows:
        cleaned_row = tuple(item if item is not None else "" for item in rows)
        print(*cleaned_row)
    else:
        text_error = ('No Matching Record Found.')
        re_text = arabic_reshaper.reshape(text_error)
        bidi = get_display(re_text)
        print(bidi)    

#محاسبه هزینه پارک خودرو در پارکینک    
def price_parking():
    price = 5000
    print('Fixed entry 5000 Tomans:"(For more than 6 hours, an additional 1000 Tomans will be added for each additional hour.)"')
    number_plate = input("Enter the number plate: ")
    alfa = input("Enter the alphabet (e.g., 'A' or 'ب'): ")
    formatted_number_plate = (number_plate[:2] + alfa.upper() + number_plate[2:5] + '--' + number_plate[5:])
    cursor.execute("SELECT * FROM parking WHERE number_plate = ?", (formatted_number_plate,))
    rows= cursor.fetchone()
    if rows:
        time_in = datetime.strptime(rows[1], '%H:%M')
        time_out = datetime.strptime(rows[3], '%H:%M')
        time_diff = time_out - time_in
        if time_diff.total_seconds() > 21600:
            price += (time_diff.total_seconds() - 21600) // 3600 * 1000
        print(f"The price of parking is {price} Tomans.")
    else:
        text_error = ('No Matching Record Found.')    
        re_text = arabic_reshaper.reshape(text_error)
        bidi =  get_display(re_text)
        print(bidi)               

def show_car_in_parking():
    cursor.execute('''SELECT * FROM parking WHERE status = 1''')      
    rows = cursor.fetchall()
    for row in rows:
        print (row)  

from colorama import Fore, Style, init
init()

def show_menu():
    print(Fore.CYAN + "="*50)
    print(Fore.YELLOW + ")

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class ParkingManager {
    static class Vehicle {

        String plateNumber;
        LocalDateTime entryTime;
        LocalDateTime exitTime;
        boolean isParked;

        Vehicle(String plateNumber, LocalDateTime entryTime) {
            this.plateNumber = plateNumber;
            this.entryTime = entryTime;
            this.isParked = true; 
            this.exitTime = null;
        }

        long calculateCost() {

            if (exitTime == null) return 0; 
            long hours = ChronoUnit.HOURS.between(entryTime, exitTime);
            long baseCost = 5000; 
            if (hours > 6) {
                return baseCost + (hours - 6) * 1000; 
            }
            return baseCost;
        }
    }

    static Map<String, Vehicle> vehicles = new HashMap<>();

    static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.println("\n1. ورود خودرو");
            System.out.println("2. خروج خودرو");
            System.out.println("3. مشاهده وضعیت پارکینگ");
            System.out.println("4. خروج از برنامه");
            System.out.print("انتخاب کنید (1-4): ");
            int choice = scanner.nextInt();
            scanner.nextLine(); 

            switch (choice) {
                case 1:
                    addVehicle(scanner);
                    break;
                case 2:
                    removeVehicle(scanner);
                    break;
                case 3:
                    showParkingStatus();
                    break;
                case 4:
                    System.out.println("خداحافظ!");
                    scanner.close();
                    return;
                default:
                    System.out.println("انتخاب نامعتبر! لطفاً عددی بین 1 تا 4 وارد کنید.");
            }
        }
    }

    private static void addVehicle(Scanner scanner) {

        System.out.print("شماره پلاک خودرو را وارد کنید: ");
        String plateNumber = scanner.nextLine();
        if (vehicles.containsKey(plateNumber) && vehicles.get(plateNumber).isParked) {
            System.out.println("این خودرو قبلاً در پارکینگ است!");
            return;
        }

        LocalDateTime entryTime = LocalDateTime.now();
        vehicles.put(plateNumber, new Vehicle(plateNumber, entryTime));
        System.out.println("خودرو با پلاک " + plateNumber + " در ساعت " + entryTime.format(formatter) + " وارد شد.");
    }

    private static void removeVehicle(Scanner scanner) {

        System.out.print("شماره پلاک خودرو را وارد کنید: ");
        String plateNumber = scanner.nextLine();
        Vehicle vehicle = vehicles.get(plateNumber);

        if (vehicle == null || !vehicle.isParked) {
            System.out.println("این خودرو در پارکینگ نیست!");
            return;
        }

        vehicle.exitTime = LocalDateTime.now();
        vehicle.isParked = false;
        long cost = vehicle.calculateCost();

        System.out.println("خودرو با پلاک " + plateNumber + " در ساعت " + vehicle.exitTime.format(formatter) + " خارج شد.");
        System.out.println("هزینه پارکینگ: " + cost + " تومان");
    }

    private static void showParkingStatus() {

        if (vehicles.isEmpty()) {
            System.out.println("پارکینگ خالی است.");
            return;
        }

        System.out.println("\nوضعیت پارکینگ:");
        for (Vehicle vehicle : vehicles.values()) {
            System.out.println("پلاک: " + vehicle.plateNumber);
            System.out.println("ساعت ورود: " + vehicle.entryTime.format(formatter));
            if (vehicle.isParked) {
                System.out.println("وضعیت: در پارکینگ");
            } else {
                System.out.println("ساعت خروج: " + vehicle.exitTime.format(formatter));
                System.out.println("وضعیت: خارج شده");
                System.out.println("هزینه: " + vehicle.calculateCost() + " تومان");
            }
            System.out.println("----------------");
        }
    }
}
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;

class Car {
    private String plateNumber;
    private LocalDateTime entryTime;
    private LocalDateTime exitTime;
    private boolean isParked;

    public Car(String plateNumber, LocalDateTime entryTime) {
        this.plateNumber = plateNumber;
        this.entryTime = entryTime;
        this.isParked = true;
    }

    public String getPlateNumber() {
        return plateNumber;
    }

    public LocalDateTime getEntryTime() {
        return entryTime;
    }

    public LocalDateTime getExitTime() {
        return exitTime;
    }

    public boolean isParked() {
        return isParked;
    }

    public void setExitTime(LocalDateTime exitTime) {
        this.exitTime = exitTime;
        this.isParked = false;
    }

    public long getParkDurationHours() {
        if (exitTime == null) {
            return 0;
        }
        Duration duration = Duration.between(entryTime, exitTime);
        long hours = duration.toHours();
        if (duration.toMinutes() % 60 > 0) {
            hours += 1; // گرد کردن به ساعت بعدی اگر دقیقه‌ای اضافه بود
        }
        return hours;
    }

    public int calculateParkingFee() {
        int baseFee = 5000;
        int extraFeePerHour = 1000;
        long hours = getParkDurationHours();
        if (hours <= 6) {
            return baseFee;
        } else {
            return (int)(baseFee + (hours - 6) * extraFeePerHour);
        }
    }

    @Override
    public String toString() {
        DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String entry = entryTime.format(fmt);
        String exit = (exitTime == null) ? "-" : exitTime.format(fmt);
        String status = isParked ? "در پارکینگ" : "خارج شده";
        return String.format("پلاک: %s | ورود: %s | خروج: %s | وضعیت: %s", plateNumber, entry, exit, status);
    }
}

public class ParkingManager {
    private Map<String, Car> cars = new HashMap<>();
    private Scanner scanner = new Scanner(System.in);

    public void run() {
        while (true) {
            System.out.println("\n--- منوی مدیریت پارکینگ ---");
            System.out.println("1. ورود خودرو");
            System.out.println("2. خروج خودرو");
            System.out.println("3. نمایش وضعیت خودروها");
            System.out.println("4. خروج از برنامه");
            System.out.print("یک گزینه انتخاب کنید: ");

            String choice = scanner.nextLine();

            switch (choice) {
                case "1":
                    carEntry();
                    break;
                case "2":
                    carExit();
                    break;
                case "3":
                    showStatus();
                    break;
                case "4":
                    System.out.println("خروج از برنامه. موفق باشید!");
                    return;
                default:
                    System.out.println("گزینه نامعتبر، دوباره تلاش کنید.");
            }
        }
    }

    private void carEntry() {
        System.out.print("شماره پلاک خودرو را وارد کنید: ");
        String plate = scanner.nextLine().trim();
        if (cars.containsKey(plate) && cars.get(plate).isParked()) {
            System.out.println("این خودرو قبلاً وارد پارکینگ شده است.");
            return;
        }
        LocalDateTime now = LocalDateTime.now();
        Car car = new Car(plate, now);
        cars.put(plate, car);
        System.out.println("ورود خودرو ثبت شد در ساعت: " + now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
    }

    private void carExit() {
        System.out.print("شماره پلاک خودرو برای خروج را وارد کنید: ");
        String plate = scanner.nextLine().trim();
        Car car = cars.get(plate);
        if (car == null) {
            System.out.println("خودرویی با این پلاک یافت نشد.");
            return;
        }
        if (!car.isParked()) {
            System.out.println("این خودرو قبلاً خارج شده است.");
            return;
        }
        LocalDateTime now = LocalDateTime.now();
        car.setExitTime(now);
        System.out.println("خروج خودرو ثبت شد در ساعت: " + now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        int fee = car.calculateParkingFee();
        System.out.println("هزینه پارکینگ: " + fee + " تومان");
    }

    private void showStatus() {
        if (cars.isEmpty()) {
            System.out.println("هیچ خودرویی ثبت نشده است.");
            return;
        }
        System.out.println("\n--- وضعیت خودروها ---");
        for (Car car : cars.values()) {
            System.out.println(car);
        }
    }

    public static void main(String[] args) {
        ParkingManager manager = new ParkingManager();
        manager.run();
    }
}

import datetime
import os

class ParkingSystem:
def init(self):
self.cars = {} # دیکشنری برای ذخیره اطلاعات خودروها
self.parking_fee_per_hour = 5000 # هزینه هر ساعت اولیه
self.extra_fee_per_hour = 1000 # هزینه هر ساعت اضافی بعد از 6 ساعت

def clear_screen(self):
    """پاک کردن صفحه ترمینال"""
    os.system('cls' if os.name == 'nt' else 'clear')

def show_menu(self):
    """نمایش منوی اصلی"""
    self.clear_screen()
    print("="*50)
    print("        سیستم مدیریت پارکینگ")
    print("="*50)
    print("1. ثبت ورود خودرو")
    print("2. ثبت خروج خودرو")
    print("3. نمایش خودروهای داخل پارکینگ")
    print("4. نمایش تاریخچه کامل")
    print("5. جستجوی خودرو")
    print("6. آمار پارکینگ")
    print("7. خروج از برنامه")
    print("="*50)

def get_current_time(self):
    """دریافت زمان فعلی"""
    return datetime.datetime.now()

def format_time(self, time_obj):
    """فرمت‌بندی زمان"""
    return time_obj.strftime("%Y-%m-%d %H:%M:%S")

def calculate_parking_fee(self, entry_time, exit_time):
    """محاسبه هزینه پارکینگ"""
    duration = exit_time - entry_time
    hours = duration.total_seconds() / 3600  # تبدیل به ساعت

    if hours <= 6:
        fee = self.parking_fee_per_hour
    else:
        extra_hours = hours - 6
        fee = self.parking_fee_per_hour + (extra_hours * self.extra_fee_per_hour)

    return fee, hours

def vehicle_entry(self):
    """ثبت ورود خودرو"""
    self.clear_screen()
    print("="*50)
    print("        ثبت ورود خودرو")
    print("="*50)

    plate_number = input("شماره پلاک خودرو را وارد کنید: ").strip()

    if not plate_number:
        print("❌ شماره پلاک نمی‌تواند خالی باشد!")
        input("برای ادامه اینتر بزنید...")
        return

    # بررسی اینکه آیا خودرو در پارکینگ است یا قبلاً ثبت شده
    for plate, info in self.cars.items():
        if plate == plate_number and info['status'] == 'inside':
            print(f"❌ خودرو با پلاک {plate_number} در حال حاضر در پارکینگ است!")
            input("برای ادامه اینتر بزنید...")
            return

    # ثبت ورود
    entry_time = self.get_current_time()
    self.cars[plate_number] = {
        'plate': plate_number,
        'entry_time': entry_time,
        'exit_time': None,
        'status': 'inside',
        'fee': None,
        'duration': None
    }

    print(f"✅ خودرو با پلاک {plate_number} در ساعت {self.format_time(entry_time)} وارد شد.")
    input("برای ادامه اینتر بزنید...")

def vehicle_exit(self):
    """ثبت خروج خودرو"""
    self.clear_screen()
    print("="*50)
    print("        ثبت خروج خودرو")
    print("="*50)

    plate_number = input("شماره پلاک خودرو را وارد کنید: ").strip()

    if not plate_number:
        print("❌ شماره پلاک نمی‌تواند خالی باشد!")
        input("برای ادامه اینتر بزنید...")
        return

    # پیدا کردن خودرو
    if plate_number not in self.cars:
        print(f"❌ خودرو با پلاک {plate_number} در سیستم ثبت نشده است!")
        input("برای ادامه اینتر بزنید...")
        return

    car_info = self.cars[plate_number]

    if car_info['status'] == 'outside':
        print(f"❌ خودرو با پلاک {plate_number} قبلاً خارج شده است!")
        input("برای ادامه اینتر بزنید...")
        return

    # ثبت خروج
    exit_time = self.get_current_time()
    fee, duration = self.calculate_parking_fee(car_info['entry_time'], exit_time)

    # به‌روزرسانی اطلاعات
    car_info['exit_time'] = exit_time
    car_info['status'] = 'outside'
    car_info['fee'] = fee
    car_info['duration'] = duration

    print("="*50)
    print("        فاکتور خروج خودرو")
    print("="*50)
    print(f"شماره پلاک: {plate_number}")
    print(f"زمان ورود: {self.format_time(car_info['entry_time'])}")
    print(f"زمان خروج: {self.format_time(exit_time)}")
    print(f"مدت زمان پارک: {duration:.2f} ساعت")
    print(f"هزینه پارکینگ: {fee:,.0f} تومان")
    print("="*50)

    input("برای ادامه اینتر بزنید...")

def show_inside_vehicles(self):
    """نمایش خودروهای داخل پارکینگ"""
    self.clear_screen()
    print("="*50)
    print("        خودروهای داخل پارکینگ")
    print("="*50)

    inside_cars = [car for car in self.cars.values() if car['status'] == 'inside']

    if not inside_cars:
        print("
class Car:
    def __init__(self, plate_number, entry_time):
        self.plate_number = plate_number
        self.entry_time = entry_time
        self.exit_time = None
        self.cost = 0

class ParkingLot:
    def __init__(self):
        self.cars = []

    def enter(self, plate_number, entry_time):
        car = Car(plate_number, entry_time)
        self.cars.append(car)
        print(f"Car {plate_number} entered at {entry_time}.")

    def exit(self, plate_number, exit_time):
        for car in self.cars:
            if car.plate_number == plate_number:
                car.exit_time = exit_time
                self.calculate_cost(car)
                print(f"Car {plate_number} exited at {exit_time}. Cost: {car.cost} Toman")
                return
        print("Car not found.")

    def calculate_cost(self, car):
        duration = (car.exit_time - car.entry_time).seconds / 3600
        if duration <= 6:
            car.cost = 5000
        else:
            car.cost = 5000 + (duration - 6) * 1000

    def status(self):
        for car in self.cars:
            status = "Exited" if car.exit_time else "In Parking"
            print(f"Plate: {car.plate_number}, Status: {status}, Entry: {car.entry_time}, Exit: {car.exit_time}, Cost: {car.cost}")

from datetime import datetime

parking_lot = ParkingLot()
parking_lot.enter("123ABC", datetime(2023, 10, 1, 10, 0))
parking_lot.exit("123ABC", datetime(2023, 10, 1, 17, 0))
parking_lot.status()
پاسخ هوش مصنوعی Ai Python
class Car:
    def __init__(self, plate):
        self.plate = plate
        self.entry_time = None
        self.exit_time = None
        self.status = "In"

class ParkingLot:
    def __init__(self):
        self.cars = {}

    def enter(self, plate, entry_time):
        car = Car(plate)
        car.entry_time = entry_time
        self.cars[plate] = car

    def exit(self, plate, exit_time):
        if plate in self.cars:
            car = self.cars[plate]
            car.exit_time = exit_time
            car.status = "Out"
            return self.calculate_fee(car.entry_time, exit_time)
        return None

    def calculate_fee(self, entry_time, exit_time):
        duration = exit_time - entry_time
        base_fee = 5000
        if duration > 6:
            additional_hours = duration - 6
            return base_fee + additional_hours * 1000
        return base_fee

    def status(self):
        return {plate: (car.status, car.entry_time, car.exit_time) for plate, car in self.cars.items()}

# Example usage:
parking_lot = ParkingLot()
parking_lot.enter("1234", 1)  # ورود در ساعت 1
fee = parking_lot.exit("1234", 8)  # خروج در ساعت 8
print(f"Fee: {fee} تومان")  # هزینه را نمایش می‌دهد
print(parking_lot.status())  # وضعیت خودروها را نمایش می‌دهد
پاسخ هوش مصنوعی Ai Python
import time
from datetime import datetime, timedelta

# دیکشنری برای ذخیره اطلاعات خودروها
parking_lot = {}

def calculate_parking_fee(entry_time, exit_time):
    duration = exit_time - entry_time
    hours = duration.total_seconds() / 3600
    base_fee = 5000
    if hours > 6:
        extra_hours = hours - 6
        fee = base_fee + (extra_hours * 1000)
    else:
        fee = base_fee
    return fee

def park_car(license_plate):
    entry_time = datetime.now()
    parking_lot[license_plate] = entry_time
    print(f"خودرو با پلاک {license_plate} در ساعت {entry_time.strftime('%H:%M:%S')} وارد شد.")

def exit_car(license_plate):
    if license_plate in parking_lot:
        entry_time = parking_lot.pop(license_plate)
        exit_time = datetime.now()
        fee = calculate_parking_fee(entry_time, exit_time)
        print(f"خودرو با پلاک {license_plate} در ساعت {exit_time.strftime('%H:%M:%S')} خارج شد.")
        print(f"هزینه پارکینگ: {fee} تومان")
    else:
        print("این خودرو در پارکینگ نیست.")

def show_parking_status():
    if not parking_lot:
        print("هیچ خودرویی در پارکینگ نیست.")
    else:
        print("وضعیت خودروها در پارکینگ:")
        for license_plate, entry_time in parking_lot.items():
            print(f"پلاک: {license_plate}, ساعت ورود: {entry_time.strftime('%H:%M:%S')}")

while True:
    print("\n1. ورود خودرو")
    print("2. خروج خودرو")
    print("3. نمایش وضعیت پارکینگ")
    print("4. خروج از برنامه")
    
    choice = input("لطفاً گزینه مورد نظر را وارد کنید: ")
    
    if choice == '1':
        plate = input("لطفاً شماره پلاک خودرو را وارد کنید: ")
        park_car(plate)
    elif choice == '2':
        plate = input("لطفاً شماره پلاک خودرو را وارد کنید: ")
        exit_car(plate)
    elif choice == '3':
        show_parking_status()
    elif choice == '4':
        print("خروج از برنامه.")
        break
    else:
        print("گزینه نامعتبر است. لطفاً دوباره تلاش کنید.")
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Scanner;
public class MyClass {

    public static void main(String[] args) {
    ArrayList<Integer> v = new ArrayList<Integer>();
    ArrayList<Integer> kh = new ArrayList<Integer>();
    LocalDateTime n = LocalDateTime.now();
    int s = n.getHour();
    Scanner d = new Scanner(System.in);
    System.out.println("khoroog?");
    String j = d.nextLine();
    v.add(s);
    if (j.equals("yes"));
    LocalDateTime e= LocalDateTime.now();
    int k= e.getHour();
    kh.add(k);
    int i = k-s;
        if(i<6){
          System.out.println("mizan pool : 5000");
        }else{
          int u = i-6;
          int t = u/1;
          int r = t*1000;
          int q = r + 5000;
          String c = q + "";
          System.out.println("mizan pool : "+c);
        }
    }
    }

import json
from datetime import datetime, timedelta
from colorama import Fore, Style
parking = {
    'entery_count':0
}

##=================================================   
#اضاف کردن خودرو به پارکینگ
def add_parking():
    parking['entery_count'] += 1
    time_in = datetime.now().strftime("%H:%M")
    number_plate = input("Enter the number plate: ")
    alfa = input("Enter the alphabet: ")
    if not number_plate .isdigit() or len(number_plate) !=7:
        print (Fore.RED+'***length of number plate should be 7 and should contain only digits***'+ Style.RESET_ALL)
        print ()
        return 
    number_plate = (number_plate[3:] + alfa.upper() + number_plate[3:] + '--' + number_plate[-2:])
    print(number_plate)    
    # time_out = input("Enter the time of exit: ")
    status = input("Enter the status '1 for occupied, 0 for free:' ")
    parking[number_plate] = {
        'time_in': time_in,
        # 'time_out': time_out,
        'status': status
    }

    print(f'Car successfully added to the parking slot: {number_plate},\n time of entry: {time_in}')    

    with open('parking.json', 'w', encoding='utf-8')as f:
        json.dump(parking, f, ensure_ascii=False, indent=4)
        print("Parking slot added successfully")

#=================================================       
#خروجی خودرو از پارکینگ
def out_parking():
    number_plate = input("Enter the number plate: ")
    time_out = datetime.now().strftime("%H:%M")
    status = input("Enter the status '1 for occupied, 0 for free:' ")
    try:
        with open('parking.json', 'r', encoding='utf-8')as f:
            parking = json.load(f) 
    except (FileNotFoundError, json.decoder.JSONDecodeError ):
        parking = {}        
    #بررسی اینکه شماره پلاک وجود داشته باشه
    if number_plate in parking:
        parking[number_plate] ['time_out']= time_out
        parking[number_plate] ['status']= status
    else:
        parking[number_plate] = {
            'time_in':None,
            'time_out' :time_out,
            'status': status
        }
    with open('parking.json', 'w', encoding='utf-8')as f:
        json.dump(parking, f, ensure_ascii=False, indent=4)
        print("Parking slot added successfully")

#===============================================   
#وضعیت خودرو         
def status_parking():
    number_plate = input("Enter the number plate: ")
    try:
        with open ('parking.json', 'r', encoding='utf-8')as f:
            parking = json.load(f)
    except FileNotFoundError:
        print ('Parking file not found')
    except json.decoder.JSONDecodeError:
        print ('the parking.json file is not properly formatted') 
        return
#===========================================       
#بررسی شماره پلاک وجود داشته باشه
    if number_plate in parking:
        status = parking[number_plate].get('status')
        time_in =parking[number_plate].get('time_in')
        time_out = parking[number_plate].get('time_out') 
        if time_out is None:
            time_out = parking[number_plate].get('Not quite parked yet')
        print (f'Parking slot number === {number_plate}=== is { 'occupied: True' if status == '1' else 'free'}') 
    else:
        print (f'No parking slot found for number plate ===={number_plate}===') 

#===========================================  
#نمایش تعداد پارکینگ ها
def show_number_parking():
    with open('parking.json', 'r', encoding='utf-8')as f:
        parking = json.load(f)
        for index,(key, value) in (enumerate(parking.items(),1)):
            print (f'{index}: {key} --> {value}')
            print(50*'=')
    # print (f'Number of parking slots available: {parking['entery_count']}')
    print ()

#============================================    
#محاسبه هزینه پارک خودرو در پارکینک    
def price_parking():
    try:
        with open ('parking.json', 'r', encoding='utf-8')as f:
            parking = json.load(f)
    except (FileNotFoundError, json.decoder.JSONDecodeError):
        print ('Parking file not found')
        return
    price = 5000
    print('Fixed entry 5000 Tomans:"(For more than 6 hours, an additional 1000 Tomans will be added for each additional hour.)"')
    number_plate = input("Enter the number plate: ")
    if number_plate in parking:
        time_in =parking[number_plate]=['time_in']
        time_out = parking[number_plate]=['time_out']

    if   time_out is None:
        time_out = datetime.now().strftime("%H:%M")
        time_diff = datetime.strptime(time_out, '%H:%M') - datetime.strptime(time_in, '%H:%M')
        duration = time_diff.total_seconds() / 3600

        if duration > 6:
            price += (duration - 6) * 1000
        print(f'The price for the parking slot {number_plate} is {price} Tomans')
    else:
        print(f'The parking slot {number_plate} is already occupied')                       
#==============================================          
from colorama import Fore, Style, init
init()
def show_menu():
    print(Fore.CYAN + "="*50)
    print(Fore.YELLOW + "

<< صفحه قبل 1 2 صفحه بعد >>

ارسال جواب

جوابت را با Markdown بنویس و ثبت کن

×
بستن