Python 3 카 트 기능 구현
카 트 요구:
1.프로그램 을 시작 한 후 사용자 이름 비밀 번 호 를 입력 한 후 첫 번 째 로그 인 시 월급 을 입력 하고 상품 목록 을 출력 합 니 다.
2.사용자 가 상품 번호 에 따라 상품 을 구 매 할 수 있 도록 한다.
3.사용자 가 상품 을 선택 한 후에 잔액 이 충분 한 지 확인 하고 충분 하면 바로 돈 을 공제 하 며 부족 하면 알려 준다.
4.수시로 탈퇴 가능,탈퇴 시 구 매 한 상품 과 잔액 을 인쇄
5.사용자 가 사용 하 는 과정 에서 관건 적 인 수출,예 를 들 어 잔액,상품 이 이미 카 트 에 가입 했다 는 등 소식 을 밝 게 표시 해 야 한다.
6.사용자 가 다음 에 로그 인 한 후에 사용자 이름 비밀 번 호 를 입력 하고 마지막 상태 로 돌아 갑 니 다.즉,지난번 에 소비 한 잔액 등 이 있 습 니까?다시 로그 인 하면 계속 구 매 할 수 있 습 니 다.
7.이전 소비 기록 조회 허용
논리 그림:
실행 코드:
#!/usr/bin/env python3
# Author: Robert
# --*-- coding: utf-8 --*--
set = False # set q
file = open(" .txt","r+",encoding="utf-8") #
f = str(file.read()) #
for line in f:
file_str = str(f)
data = eval(file_str) # data
name = input(" :")
password = input(" :")
while True:
if name in data: #
if password in data[name]: # , , 。
salary = float(data[name][password])
print('''\033[32;1m , %s\033[0m'''%salary)
break
else: # ,
password = input(" , :")
continue
else: # , , ,
password_salary = {}
salary_str = input(" , :")
salary = float(salary_str)
password_salary[password] = salary #
data[name] = password_salary # -
file.seek(0)
file.write(str(data))
file.tell()
break
list = [#
["iphone",5800],
["sifei",800],
["macbook",17500],
["book",75],
["apple",5]
]
file_list_r = open(" .txt","r+",encoding="utf-8")
file_list_r = str(file_list_r.read())
shoppinglist_dict = eval(file_list_r)
if name not in shoppinglist_dict:
shoppinglist_dict[name] = []
shoppinglist = shoppinglist_dict[name]
shoppinglist_dict_now = []
choose = input("
(y/n):")
if choose == 'y':
print("
----------> <----------")
print(shoppinglist)
print("----------> <----------")
while not set: #
print("----------> <----------")
for index,item in enumerate(list,1):
print(index,item)
print("----------> <----------")
number = input(" :")
if number == "q":
set = True
data[name][password] = str(salary)
file.seek(0)
file.write(str(data))
file.tell()
print("----------> <----------")
print(shoppinglist)
print(" :",salary)
print("----------> <----------")
shoppinglist.extend(shoppinglist)
shoppinglist_dict[name] = shoppinglist
elif number.isdigit() == False:
print("\033[31;1m , \033[0m")
elif int(number)>int(len(list)) or int(number)<= 0: # ,
print("\033[31;1m \033[0m")
else:
number_buy = int(number)-1
if list[number_buy][1]<(salary): # , 。
salary = salary - int(list[number_buy][1])
msg = '\033[32;1m %s , %d\033[0m'%(list[number_buy][0],salary)
print(msg)
shoppinglist.append(list[number_buy]) #
else:
print("\033[31;1m , !\033[0m") #
카 트 사용자 정보 파일.txt{'name': {'password': '10000'}, 'cx': {'123': '725.0'}, 'robert': {'qw': '440.0'}, 'cv1': {'1': 100.5}, 'ROBERT': {'QW': 1560.0}, 'qwe': {'qw': '1555.0'}}
역사 쇼핑 정보.txt
{'name': [['iphone', 5800],['bike', 800]], 'cx':[['iphone', 5800],['apple', 5],['apple', 5], ['book', 75]]}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Jupyter 공식 DockerHub에 대한 메모에 기재되어 있다. base-notebook minimal-notebook scipy-notebook tensorflow-notebook datascience-notebook pyspark-notebook all-s...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.