с Д/З информатика Язык 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]
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("Произошла ошибка")
Объяснение:
Как то так) На дебаг времени не хватило, проверьте... Если проблемы есть - пишите