Python 쇼핑 몰 구현,사용자 입구 와 업 체 입구 예시 포함

이것 은 타 오 바 오 를 모 의 하 는 간단 한 쇼핑 몰 프로그램 이다.
사용자 입 구 는 다음 과 같은 기능 을 가지 고 있 습 니 다.
로그 인 인증
사용자 잠 금 가능
비밀번호 입력 횟수 3 회 이상,사용자 이름 잠 금
세 번 연속 오류 사용자 이름 종료
직접 구 매 를 선택 할 수도 있 고 카 트 가입 을 선택 할 수도 있 습 니 다.
사용자 가 결제 비밀 번 호 를 사용 하여 결 제 를 완료 하고 결제 비밀 번 호 를 연속 으로 입력 하 는 오류 가 3 번 에 달 하 며 사용자 이름 을 잠 금 합 니 다.
업 체 의 입 구 는 다음 과 같은 기능 을 가진다.
로그 인 인증
사용자 잠 금 가능
비밀번호 입력 횟수 3 회 이상,사용자 이름 잠 금
세 번 연속 오류 사용자 이름 종료
상인 은 상품 을 편집 할 수 있다
신제품 을 출시 하 다.
상품
상품 정보 수정:상품 명,단가,재고
모든 사용자 의 사용자 이름,비밀번호,잔액,지불 비밀 번 호 는 줄 기록 으로 user 에 정의 합 니 다.list.txt 파일 에서 쉼표 로 구분 하기;
각 상품 의 상품 명,단가,재고,행 기록 으로 produtlist.txt 파일 에 쉼표 로 빈 칸 구분 하기;
잠 긴 사용자 이름 을 lock 에 기록 합 니 다.list.txt 파일 에서 줄 로 구분 하기;
업 체 의 사용자 이름,비밀 번 호 는 seller 에 정의 되 어 있 습 니 다.list.txt 파일 에서 쉼표 로 구분 하기;

# Joe Young

import getpass
import os

#   os   system    'cls'  ,  
os.system('cls') 

while True:
 entrance = input('   :
\t1.
\t2.
>>>') if entrance != '1' and entrance != '2': print('
, ...
') else: break # def print_product_list(): index = 1 with open('product_list.txt', 'r') as product_file: for product_line in product_file: L = [commodity, price, stock] = product_line.strip('
').split(', ') commodity_list.append(L) print((str(index) + '. ' + commodity).ljust(20) + (' :' + price + ' ').ljust(15) + ' :' + stock) index += 1 return # if entrance == '1': info = [] # , if_payed = True # if_payed username = '' # count = 0 while count < 3: username = input('
: ') # with open('lock_list.txt', 'r+') as lock_file: for lock_line in lock_file: # , if username == lock_line.strip('
'): exit('
%s , ...' % username) login = False # , False # , user_file = open('user_list.txt', 'r') for user_line in user_file: # , 、 、 、 , info info = [user, passwd, balance, pay_passwd] = user_line.strip('
').split(',') # , if user == username: n = 0 # 3 while n < 3: password = getpass.getpass(' : ') # , if passwd == password: print('
%s , !
' % username) login = True # True break # else: # n = 2 , 0 if n != 2: print('
, , %d
' % (2-n)) n += 1 # 3 , , else: open('lock_list.txt', 'w').write(username + '
') exit('
, ...') # , for if login: break else: if count != 2: print('
, , %d ' % (2-count)) user_file.close() count += 1 # , while if login: break else: exit('
, ...') # shopping_cart = [] # commodity_list = [] print_product_list() while True: i = input('
( ), c :') if i == 'c': while True: a = input('
?(Y/N):') if a == 'n' or a == 'N': exit('
...') elif a == 'y' or a == 'Y': break else: print('
, ...') continue if not i.isdigit(): print('
, ...') continue i = int(i) if i <= 0 or i > len(commodity_list): print('
, ...') continue item_name = commodity_list[i-1][0] # item_price = commodity_list[i-1][1] # item_stock = commodity_list[i-1][2] # print('
%s , , b :' % item_name) back = False while True: num = input('>>>') if num == 'b': back = True break if not num.isdigit(): print(' , ...') continue if int(num) > int(item_stock): print(' , ...') continue if int(num) == 0: print(' 0, ...') break if back: continue item = [item_name, item_price, num] print('
%s, :%s , :%s, ?
' % (item_name, item_price, num)) print('\t1.
\t2.
') while True: choice = input('>>>') if not (choice == '1' or choice == '2'): print(' , ...') continue break user_balance = int(info[2]) # if choice == '1': amount = int(item_price) * int(num) count = 0 cancel = False while count < 3: user_pay_passwd = getpass.getpass('
, c :') if user_pay_passwd == 'c': print('
...') cancel = True break elif user_pay_passwd != info[3]: if count != 2: print('
, , %d ...' % (2-count)) count += 1 else: break if count == 3: with open('lock_list.txt', 'w') as lock_file: lock_file.write(username + '
') exit(' , ...') if cancel: while True: choice = input('
?(Y/N):') if not (choice == 'Y' or choice == 'y' or choice == 'N' or choice == 'n'): print('
, ...') continue break if choice == 'Y' or choice == 'y': continue else: break # if user_balance >= amount: user_balance -= amount print('
! %s , :%s , :%s, :%s , :%s ' % (item_name, item_price, num, amount, user_balance)) lines = open('product_list.txt', 'r').readlines() # , select select = lines[i-1].strip('
').split(', ') # select[-1] = (str(int(select[-1]) - int(num)) + '
') # lines[i-1] = ', '.join(select) # open('product_list.txt', 'w').writelines(lines) lines = open('user_list.txt', 'r').readlines() # for line in lines: if username in line.split(','): # j = lines.index(line) # select = line.split(',') # select select[-2] = str(user_balance) # lines[j] = ','.join(select) # , open('user_list.txt', 'w').writelines(lines) # else: print('
, ...') else: # j = 0 for j in range(len(shopping_cart)): # , if item_name in shopping_cart[j]: shopping_cart[j][2] = str(int(shopping_cart[j][2]) + int(num)) break # , else: shopping_cart.append(item) print('
!') while True: choice = input('
?(Y/N):') if not (choice == 'Y' or choice == 'y' or choice == 'N' or choice == 'n'): print('
, ...') continue break if choice == 'Y' or choice == 'y': continue else: break # if shopping_cart: print('

') i = 1 total_sum = 0 for item in shopping_cart: (commodity, price, number) = (item[0], item[1], item[2]) print((str(i) + '. ' + commodity).ljust(20) + (' :' + price + ' ').ljust(15) + ' :' + number) total_sum += int(price) * int(number) i += 1 print('
:%d ' % total_sum) while True: if_buy = input('
?(Y/N):') if not (if_buy == 'Y' or if_buy == 'y' or if_buy == 'N' or if_buy == 'n'): print('
, ...') continue break while True: # if if_buy == 'Y' or if_buy == 'y': count = 0 cancel = False while count < 3: user_pay_passwd = getpass.getpass('
, c :') if user_pay_passwd == 'c': print('
...') cancel = True break elif user_pay_passwd != info[3]: if count != 2: print('
, , %d ...' % (2-count)) count += 1 else: break if cancel: if_payed = False elif count == 3: with open('lock_list.txt', 'w') as lock_file: lock_file.write(username + '
') exit('
, ...') else: if total_sum <= user_balance: user_balance -= total_sum print('
! :
') i = 1 for item in shopping_cart: (commodity, price, number) = (item[0], item[1], item[2]) print((str(i) + '. ' + commodity).ljust(20) + (' :' + price + ' ').ljust(15) + ' :' + number) lines = open('product_list.txt', 'r').readlines() for line in lines: # if commodity in line.split(', '): # j = lines.index(line) # select = line.split(', ') # select[-1] = (str(int(select[-1]) - int(number)) + '
') # lines[j] = ', '.join(select) # open('product_list.txt', 'w').writelines(lines) # i += 1 lines = open('user_list.txt', 'r').readlines() for line in lines: # if username in line.split(','): j = lines.index(line) select = line.split(',') select[-2] = str(user_balance) lines[j] = ','.join(select) open('user_list.txt', 'w').writelines(lines) exit('
:%d , :%d ' % (total_sum, user_balance)) # else: print('
...') while True: choice = input('
?(Y/N):') if not (choice == 'Y' or choice == 'y' or choice == 'N' or choice == 'n'): print('
, ...') continue break if choice == 'n' or choice == 'N': exit('
, , ...') else: if_buy = 'Y' continue if not if_payed: print('
...') while True: choice = input('
?(Y/N):') if not (choice == 'Y' or choice == 'y' or choice == 'N' or choice == 'n'): print('
, ...') continue break if choice == 'n' or choice == 'N': exit('
, , ...') else: if_buy = 'Y' continue # if entrance == '2': seller_name = '' # count = 0 while count < 3: seller_name = input('
:') with open('lock_list.txt', 'r') as lock_file: for lock_line in lock_file: if seller_name == lock_line.strip('
'): exit('
%s , ...' % seller_name) seller_file = open('seller_list.txt', 'r') login = False for seller_line in seller_file: (seller, passwd) = seller_line.strip('
').split(',') if seller_name == seller: n = 0 while n < 3: password = getpass.getpass(' :') # , while if password == passwd: print('
%s ' % seller_name) login = True break else: if n != 2: print('
, , %d ' % (2-n)) n += 1 # n = 3, else: open('lock_list.txt', 'w').write(seller_name + '
') exit('
, ...') # , for if login: break # else: if count != 2: print('
, , %d ' % (2-count)) # , while if login: break count += 1 else: exit('
, ...') # L = [] # , commodity_list = [] index = 1 print('

') print_product_list() while True: choice = input('
?(Y/N):') if not (choice == 'Y' or choice == 'y' or choice == 'N' or choice == 'n'): print('
, ...') continue break if choice == 'Y' or choice == 'y': while True: print('
( q ):
') print('1.

2.

3. ') choice = input('
>>>') if not (choice == '1' or choice == '2' or choice == '3' or choice == 'q'): print(' , ...') continue # if choice == '1': while True: if_add = False # , False new_commodity = input('
:') product_file = open('product_list.txt', 'r') for product_line in product_file: commodity = product_line.strip('
').split(', ')[0] # if new_commodity == commodity: print('
...') continue else: while True: if_sure = input('
%s ?(Y/N):' % new_commodity) if not (if_sure == 'Y' or if_sure == 'y' or if_sure == 'N' or if_sure == 'n'): print('
, ...') continue break # if if_sure == 'Y' or if_sure == 'y': while True: # price = input('
:') if not price.isdigit(): print('
, ...') continue break while True: # stock = input('
:') if not stock.isdigit(): print('
, ...') continue break new_line = '
' + new_commodity + ', ' + price + ', ' + stock open('product_list.txt', 'a').writelines(new_line) print('
%s , %s , %s ' % (new_commodity, price, stock)) while True: option = input('
?(Y/N):') if not (option == 'Y' or option or option == 'N' or option == 'n'): print('
, ...') continue break if option == 'Y' or option == 'y': if_add = True break # for else: break # else: if_add = False break # for product_file.close() if if_add is True: continue else: break # while # elif choice == '2': while True: del_num = input('
:') if not (del_num.isdigit() or int(del_num) > 0 and int(del_num) <= len(commodity_list)): print('
, ...') continue break del_num = int(del_num) del_commodity = commodity_list[del_num - 1][0] with open('product_list.txt', 'r') as old_file: with open('product_list.txt', 'r+') as new_file: current_line = 0 # while current_line < (del_num - 1): old_file.readline() current_line += 1 # , seek_point = old_file.tell() # new_file.seek(seek_point, 0) # , old_file.readline() # next_line next_line = old_file.readline() # , while next_line: new_file.write(next_line) next_line = old_file.readline() # , , , new_file.truncate() print('
%s !' % del_commodity) # elif choice == '3': # def mod_commodity_info(i, j): i = int(i) j = int(j) with open('product_list.txt', 'r+') as f: current_line = 0 while current_line < i - 1: f.readline() current_line += 1 seek_point = f.tell() f.seek(seek_point, 0) # if j == 1: update_line = mod_name() + ', ' + commodity_list[i-1][1] + ', ' + commodity_list[i-1][2] + '
' # elif j == 2: update_line = commodity_list[i-1][0] + ', ' + mod_price() + ', ' + commodity_list[i-1][2] + '
' # else: update_line = commodity_list[i-1][0] + ', ' + commodity_list[i-1][1] + ', ' + mod_stock() + '
' f.write(update_line) return def mod_name(): new_name = input("
:") return new_name def mod_price(): new_price = input("
:") return new_price def mod_stock(): new_stock = input("
:") return new_stock # def mod_commodity_price(i): i = int(i) with open('product_list.txt', 'r+') as f: current_line = 0 while current_line < i -1: f.readline() current_line += 1 seek_point = f.tell() f.seek(seek_point, 0) new_price = input() while True: i = input("
( c ):") if not (i.isdigit or i == 'c' or int(i) > 0 and int(i) <= len(commodity_list)): print("
, ...") continue elif i == 'c': break else: while True: j = input("
( c ):

1.

2.

3.

>>>") if not (j == 'c' or j == '1' or j == '2' or j == '3'): print("
, ...") continue break if j == 'c': break else: mod_commodity_info(i, j) else: exit('
...') else: exit('
...')
이상 파 이 썬 은 쇼핑 몰 을 실현 합 니 다.사용자 입구 와 업 체 입 구 를 포함 한 예 는 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.참고 가 되 고 많은 사랑 을 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기