最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3實(shí)現(xiàn)購(gòu)物車(chē)功能

 更新時(shí)間:2018年04月18日 10:00:15   作者:愛(ài)跳舞的青年君  
這篇文章主要為大家詳細(xì)介紹了Python3實(shí)現(xiàn)購(gòu)物車(chē)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Python3實(shí)現(xiàn)購(gòu)物車(chē)功能的具體代碼,供大家參考,具體內(nèi)容如下

購(gòu)物車(chē)要求:

1、啟動(dòng)程序后,輸入用戶名密碼后,如果是第一次登錄,讓用戶輸入工資,然后打印商品列表

2、允許用戶根據(jù)商品編號(hào)購(gòu)買(mǎi)商品

3、用戶選擇商品后,檢測(cè)余額是否夠,夠就直接扣款,不夠就提醒

4、可隨時(shí)退出,退出時(shí),打印已購(gòu)買(mǎi)商品和余額

5、在用戶使用過(guò)程中, 關(guān)鍵輸出,如余額,商品已加入購(gòu)物車(chē)等消息,需高亮顯示

6、用戶下一次登錄后,輸入用戶名密碼,直接回到上次的狀態(tài),即上次消費(fèi)的余額什么的還是那些,再次登錄可繼續(xù)購(gòu)買(mǎi)

7、允許查詢之前的消費(fèi)記錄

邏輯圖:

執(zhí)行代碼:

#!/usr/bin/env python3
# Author: Robert
# --*-- coding: utf-8 --*--

set = False  #設(shè)置set 當(dāng)輸入為q就可以退出
file = open("購(gòu)物車(chē)用戶信息檔案.txt","r+",encoding="utf-8")  #讀取購(gòu)物車(chē)用戶信息文件
f = str(file.read())  #將文件內(nèi)容轉(zhuǎn)化成字符串
for line in f:
  file_str = str(f)
data = eval(file_str)  #將字符串轉(zhuǎn)換為字典data

name = input("輸入姓名:")
password = input("輸入密碼:")
while True:
  if name in data:      #用戶在檔案中
    if password in data[name]:     #密碼和用戶名對(duì)應(yīng),校驗(yàn)正確,登錄。
      salary = float(data[name][password])
      print('''\033[32;1m歡迎登錄,當(dāng)前余額為%s\033[0m'''%salary)
      break
    else:      #否則密碼錯(cuò)誤,請(qǐng)重新輸入
      password = input("密碼錯(cuò)誤,請(qǐng)重新輸入:")
      continue
  else:      #否則判斷為首次登錄,將用戶名,密碼,工資存到用戶信息文件中
    password_salary = {}
    salary_str = input("歡迎首次登錄,請(qǐng)輸入你的工資:")
    salary = float(salary_str)
    password_salary[password] = salary     #工資對(duì)應(yīng)到密碼
    data[name] = password_salary      #將密碼-工資對(duì)應(yīng)到用戶名
    file.seek(0)
    file.write(str(data))
    file.tell()
    break

list = [#購(gòu)物清單
  ["iphone",5800],
  ["sifei",800],
  ["macbook",17500],
  ["book",75],
  ["apple",5]
]

file_list_r = open("歷史購(gòu)物信息.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("\n是否需要查詢歷史購(gòu)物記錄(y/n):")
if choose == 'y':
  print("\n\n---------->歷史購(gòu)物記錄<----------")
  print(shoppinglist)
  print("---------->結(jié)束<----------")

while not set:   #購(gòu)物車(chē)開(kāi)始
  print("---------->商品清單<----------")
  for index,item in enumerate(list,1):
    print(index,item)
  print("---------->結(jié)束<----------")
  number = input("請(qǐng)輸入想購(gòu)買(mǎi)商品編號(hào):")
  if number == "q":
    set = True
    data[name][password] = str(salary)
    file.seek(0)
    file.write(str(data))
    file.tell()
    print("---------->購(gòu)物清單<----------")
    print(shoppinglist)
    print("您的余額:",salary)
    print("---------->結(jié)束<----------")
    shoppinglist.extend(shoppinglist)
    shoppinglist_dict[name] = shoppinglist
  elif number.isdigit() == False:
    print("\033[31;1m輸入不是編號(hào)內(nèi)容,請(qǐng)重新輸入\033[0m")
  elif int(number)>int(len(list)) or int(number)<= 0:     #輸入值不在清單中,報(bào)錯(cuò)
    print("\033[31;1m您所購(gòu)買(mǎi)的商品不在清單中\(zhòng)033[0m")
  else:
    number_buy = int(number)-1
    if list[number_buy][1]<(salary):      #如果余額足夠,提示購(gòu)買(mǎi)成功并顯示余額。
      salary = salary - int(list[number_buy][1])
      msg = '\033[32;1m您已經(jīng)將%s加入購(gòu)物車(chē)中,余額為%d\033[0m'%(list[number_buy][0],salary)
      print(msg)
      shoppinglist.append(list[number_buy])      #將本次購(gòu)物信息加到購(gòu)買(mǎi)記錄中
    else:
      print("\033[31;1m余額不足,無(wú)法購(gòu)買(mǎi)!\033[0m")      #提示余額不足

購(gòu)物車(chē)用戶信息檔案.txt

{'name': {'password': '10000'}, 'cx': {'123': '725.0'}, 'robert': {'qw': '440.0'}, 'cv1': {'1': 100.5}, 'ROBERT': {'QW': 1560.0}, 'qwe': {'qw': '1555.0'}}

歷史購(gòu)物信息.txt

{'name': [['iphone', 5800],['bike', 800]], 'cx':[['iphone', 5800],['apple', 5],['apple', 5], ['book', 75]]}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3實(shí)現(xiàn)釘釘消息推送的方法示例

    python3實(shí)現(xiàn)釘釘消息推送的方法示例

    這篇文章主要介紹了python3實(shí)現(xiàn)釘釘消息推送的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 使用pandas兩列轉(zhuǎn)換成字典的健和值

    使用pandas兩列轉(zhuǎn)換成字典的健和值

    這篇文章主要介紹了使用pandas兩列轉(zhuǎn)換成字典的健和值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python實(shí)現(xiàn)五子棋人機(jī)對(duì)戰(zhàn)游戲

    python實(shí)現(xiàn)五子棋人機(jī)對(duì)戰(zhàn)游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)五子棋之人機(jī)對(duì)戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python批量模糊匹配的3種方法實(shí)例

    Python批量模糊匹配的3種方法實(shí)例

    模糊匹配可以算是現(xiàn)代編輯器的一個(gè)必備特性了,它所做的就是根據(jù)用戶輸入的部分內(nèi)容,猜測(cè)用戶想要的文件名,并提供一個(gè)推薦列表供用戶選擇,下面這篇文章主要給大家介紹了關(guān)于Python批量模糊匹配的3種方法,需要的朋友可以參考下
    2022-03-03
  • python爬蟲(chóng)基礎(chǔ)之簡(jiǎn)易網(wǎng)頁(yè)搜集器

    python爬蟲(chóng)基礎(chǔ)之簡(jiǎn)易網(wǎng)頁(yè)搜集器

    這篇文章主要介紹了python爬蟲(chóng)基礎(chǔ)之簡(jiǎn)易網(wǎng)頁(yè)搜集器,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python爬蟲(chóng)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Python使用grequests(gevent+requests)并發(fā)發(fā)送請(qǐng)求過(guò)程解析

    Python使用grequests(gevent+requests)并發(fā)發(fā)送請(qǐng)求過(guò)程解析

    這篇文章主要介紹了Python使用grequests并發(fā)發(fā)送請(qǐng)求過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python Flask-web表單使用詳解

    Python Flask-web表單使用詳解

    這篇文章主要為大家詳細(xì)介紹了Python Flask-web表單的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • python處理cookie詳解

    python處理cookie詳解

    Cookie用于服務(wù)器實(shí)現(xiàn)會(huì)話,用戶登錄及相關(guān)功能時(shí)進(jìn)行狀態(tài)管理,本文介紹了使用python處理cookie的方法,需要的朋友可以參考下
    2014-02-02
  • Python imageio讀取視頻并進(jìn)行編解碼詳解

    Python imageio讀取視頻并進(jìn)行編解碼詳解

    今天小編就為大家分享一篇Python imageio讀取視頻并進(jìn)行編解碼詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • pycharm使用Translation插件實(shí)現(xiàn)翻譯功能

    pycharm使用Translation插件實(shí)現(xiàn)翻譯功能

    PyCharm是一款很流行的Python編輯器,經(jīng)常遇到在PyCharm中把中文翻譯成英文的需求,下面這篇文章主要給大家介紹了關(guān)于pycharm使用Translation插件實(shí)現(xiàn)翻譯功能的相關(guān)資料,需要的朋友可以參考下
    2023-05-05

最新評(píng)論

韶关市| 株洲市| 赣榆县| 万州区| 浦县| 雷波县| 白银市| 尉氏县| 海晏县| 邯郸市| 松溪县| 内黄县| 米林县| 阿拉善左旗| 攀枝花市| 彭山县| 唐山市| 石首市| 建瓯市| 宣汉县| 防城港市| 天峨县| 临邑县| 阳西县| 安龙县| 岑溪市| 茂名市| 多伦县| 渝北区| 磐石市| 赞皇县| 革吉县| 鄂托克旗| 合山市| 德庆县| 辉南县| 绥宁县| 富裕县| 遂川县| 孝感市| 九龙城区|