В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
tv7antena
tv7antena
25.11.2020 11:30 •  Информатика

с Д/З информатика Язык Python

Написать программу которая похожа на маленький автосалон

Возможности:

1 - показать машины (права: Все) 2 - выбрать машину (права: Все)

3 - купить машину (права: Вce)

4 - добавить машину (права: Админ) 5 - удалить машину (права: Админ)

6 - изменить имя машины (права: Админ)

Там где права админа доступ имеет только админ

<?> Как узнать это админ? ну это от вас зависет, алгоритм у каждого разный

Программа принимает опцию и после выполняет что то присушее для этой опции

У вас есть: money_of_customer = 1358 #баланс покупателя

cars = [

['priora - 300$', 3001, ['mazda - 400$', 4001,

['ferari - 1300$', 1300],

['BMW - 3000$', 30001,

*есть список -> в котором есть другие списки -> в котором находятся 2 знач это текст для меню и второе это значение чтобы мы могли купить машину

Вы должны:

Код должен быть читабельным и чистым (РЕР 8) - Те кто смогут (не обязательно) начните ваш код С:

while True:

# your code

* это запустить весконечный цикл нужно для того чтобы прога до того момента когда вы не захотите ее закрыть

как пример попробуй это и ты поймешь как он работает: while True:

a = input('enter: ') print(a)

Все машины хранятся и изменяются в списке. Показать навигацию в программе для того чтобы пользователь смог арентирова *используйте print()

Доступ к опциям (права: Админ) доступны только админу

Доступ к опциям (права: Все) доступны любому

После того когда данные в списке изменяются, удаляются или добавляются всегда выводите админу что вы изменили, удалили или добавили что TO. и результат (можно вывести сам список над которым вы шаманили )

Названия переменных должны соответствовать их значениям т.е должны быть ло

В коде обязательно должны быть использованы след-ие вещи: if elif else and int() индексация коментарии

Используйте метод списков pop(*index) пример использования:

a = [1,2,3,4] a.pop(0)

print(a) -> [2,3,4]

Показать ответ
Ответ:
albinakoptleuova06
albinakoptleuova06
28.07.2021 22:12

adminlogs=["0000","1488"] #Логин(ы) администратора

cars = [['priora - 300$', 300], ['mazda - 400$', 400],['ferari - 1300$', 1300],['BMW - 3000$', 3000]]

info="\n".join(("",

     "Справка:",

     "Сменить профиль: Выйти",

     "Посмотреть список авто: Просмотр",

     "Выбрать авто: Выбор {название}",

     "Купить авто: Купить",

     "Повторно вызвать справку: Справка",

     "*Администраторам*",

     "Добавить авто: Добавить {название цена}",

     "Удалить авто: Удалить",

     "Изменить название: Изменить {название}",

     ""))

def connect():

   global name,money_of_customer,login,permit

   print("*Попытка авторизации*")

   try:

       name=input("Введите Имя: ")

       money_of_customer=int(input("Введите баланс вашего счета: "))

       login=input("*Дополнительно* Введите логин администратора: ")

       permit=login in adminlogs

       print("Здравствуйте,",name)

   except:

       print("Ошибка авторизации, повторите")

       connect()

       return

def logout():

   connect()

def showcarlist():

   for i in cars:

       print(i[0])

def choosecar(car_name):

   global car

   for i in range(len(cars)):

       if car_name.lower() in cars[i][0].lower():

           print("Вы выбрали:",cars[i][0])

           car = i

           return

   print("Данного автомобиля нету в нашем каталоге")

def buycar():

   global money_of_customer, car

   if money_of_customer>=cars[car][1]:

       money_of_customer-=cars[car][1]

       print("Автомобиль", cars[car][0], "куплен")

       if permit:

           print("Уведомление: элемент", cars[car],"удален")

       cars.pop(car)

       del car

   else: print("Автомобиль не куплен")

def carmanage(flag,carinfo=None):

   global car

   if permit:

       if flag==0:

           res=carinfo.split(" ")

           cars.append([res[0] + " - " + res[1] + "$",int(res[1])])

           print("Уведомление: элемент", carinfo,"добавлен администратором")

       elif flag==1:

           print("Уведомление: элемент", cars[car][0],"удален администратором")

           cars.pop(car)

           del car

       elif flag==2:

           res=carinfo+" - "+str(cars[car][1])+"$"

           print("Уведомление: элемент", cars[car][0],"заменен администратором на", res)

           cars[car][0]=res

   else: print("У вас недостаточно прав")

connect()

print(info)

while True:

   print(name,money_of_customer,login,permit)

   do=input("Ваше действие... ").split(" ")

   doword=do[0].lower()

   try:

       if doword == "выйти":

           logout()

       elif doword == "просмотр":

           showcarlist()

       elif doword == "выбор":

           choosecar(do[1])

       elif doword == "купить":

           buycar()

       elif doword == "справка":

           print(info)

       elif doword == "добавить":

           carmanage(0, " ".join(do[1:]))

       elif doword == "удалить":

           carmanage(1)

       elif doword == "изменить":

           carmanage(2,do[1])

       else: print("Такой команды не существует")

   except:

       print("Произошла ошибка")

Объяснение:

Как то так) На дебаг времени не хватило, проверьте... Если проблемы есть - пишите

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота