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

Python實(shí)現(xiàn)購物程序思路及代碼

 更新時(shí)間:2017年07月24日 08:43:14   作者:Dreamer_qiao  
本文給大家分享的是使用Python實(shí)現(xiàn)的購物小程序的思路要求以及相關(guān)代碼,非常的簡單實(shí)用,有需要的小伙伴可以參考下

要求:

啟動(dòng)程序后,讓用戶輸入工資,然后打印出帶有序號(hào)的商品列表
用戶輸入商品序號(hào)購買相應(yīng)的商品,或者輸入 ' q ' 退出購買界面
選擇商品后,檢查余額是否足夠,夠則直接扣款,不夠則提示余額不足
用戶每購買一件商品后,或者輸入 ' q ' 退出購買界面后,提示:是否繼續(xù)購買?(Y/N),實(shí)現(xiàn)多次購買
若用戶購買了商品,打印出購買的商品列表,總金額,余額;若用戶沒買任何商品,打?。航灰捉Y(jié)束,購物失敗
Readme:

運(yùn)行程序,輸入薪水,根據(jù)商品列表的序號(hào)選擇購買的商品,可以選擇多次購買,或者不購買

流程圖:


代碼:

# 簡單的購物小程序

product_list = [
  ['surface pro 4', 7800],
  ['dell xps 15', 12000],
  ['macbook', 12000],
  ['小米6', 2499],
  ['iphone7', 4600],
  ['堅(jiān)果Pro', 1499]
]
shopping_list = []


# 判斷輸入的薪水格式是否正確
while True:
  salary = input('\n請輸入您的薪水:')
  if not salary.isdigit():          # 薪水不是數(shù)字,結(jié)束循環(huán)
    print('\n輸入格式有誤!請重新輸入...')
    continue
  break


balance = salary = int(salary)

print('\n-----------歡迎購買------------\n')

# 生成帶序號(hào)的商品列表
for index, item in enumerate(product_list):
  print(index, item)


# 判斷輸入的序號(hào)是否符合要求
while True:

  while True:
    i = input('\n輸入您要購買的商品序號(hào),或輸入 q 取消購買:')
    if i == 'q':                 # 輸入 q 退出購買界面
      while True:
        a = input('\n是否繼續(xù)購買?(Y/N):')
        if a != 'n' and a != 'N' and a != 'y' and a != 'Y':
          print('\n輸入格式有誤,請重試...')
          continue
        elif a == 'y' or a == 'Y':         # 繼續(xù)購買
          break
        else:                    # 購買完畢
          if balance == salary:       # 沒有買任何東西
            print('\n交易結(jié)束,購買失敗...')
            exit()
          else:               # 結(jié)算  
            print('\n您已成功購買以下商品:\n')
            for item in shopping_list:
              print(item)
            print('\n共消費(fèi)金額 %d 元,余額 %d 元' % (salary - balance, balance))
            exit()
      continue

    if not i.isdigit():             # 序號(hào)不是數(shù)字,結(jié)束循環(huán)
      print('\n輸入格式有誤!請重新輸入...')
      continue

    i = int(i)

    if i < 0 or i >= len(product_list):  # 序號(hào)范圍不正確,結(jié)束循環(huán)
      print('\n此商品不存在,請重新輸入...')
      continue
    break

  product = product_list[i]
  price = int(product[1])

  # 判斷余額是否充足,夠就直接扣款,不夠提醒
  if price <= balance:
    balance -= price
    shopping_list.append(product_list[i])
    print('\n您已成功購買 %s ,當(dāng)前余額為 %d 元' %(product, balance))
  else:
    print('\n購買失敗,您的余額不足...')

  while True:
    a = input('\n是否繼續(xù)購買?(Y/N):')
    if a != 'n' and a != 'N' and a != 'y' and a != 'Y':
      print('\n輸入格式有誤,請重試...')
      continue
    break

  if a == 'Y' or a == 'y':
    continue
  else:
    break

if balance == salary:
  print('\n交易結(jié)束,購買失敗...')
  exit()
else:
  print('\n您已成功購買以下商品:\n')
  for item in shopping_list:
    print(item)
  print('\n共消費(fèi)金額 %d 元,余額 %d 元' %(salary-balance, balance))
  exit()

相關(guān)文章

  • Python使用pymongo模塊操作MongoDB的方法示例

    Python使用pymongo模塊操作MongoDB的方法示例

    這篇文章主要介紹了Python使用pymongo模塊操作MongoDB的方法,結(jié)合實(shí)例形式分析了Python基于pymongo模塊連接MongoDB數(shù)據(jù)庫以及增刪改查與日志記錄相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Matlab中關(guān)于argmax、argmin函數(shù)的使用解讀

    Matlab中關(guān)于argmax、argmin函數(shù)的使用解讀

    這篇文章主要介紹了Matlab中關(guān)于argmax、argmin函數(shù)的使用解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信

    利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信

    本文主要介紹了利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信示例代碼,具有很好的參考價(jià)值,需要的朋友一起來看下吧
    2016-12-12
  • python基礎(chǔ)之基本運(yùn)算符

    python基礎(chǔ)之基本運(yùn)算符

    這篇文章主要介紹了python基本運(yùn)算符,實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下
    2021-10-10
  • 徹底理解Python中的yield關(guān)鍵字

    徹底理解Python中的yield關(guān)鍵字

    今天小編就為大家分享一篇關(guān)于徹底理解Python中的yield關(guān)鍵字,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • python中尾遞歸用法實(shí)例詳解

    python中尾遞歸用法實(shí)例詳解

    這篇文章主要介紹了python中尾遞歸用法,較為詳細(xì)的分析了尾遞歸原理與相關(guān)使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 如何利用python倒置所輸字符串的順序

    如何利用python倒置所輸字符串的順序

    這篇文章主要介紹了如何利用python倒置所輸字符串的順序問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Python實(shí)現(xiàn)PPT/PPTX批量轉(zhuǎn)換成PDF

    Python實(shí)現(xiàn)PPT/PPTX批量轉(zhuǎn)換成PDF

    這篇文章主要為大家詳細(xì)介紹了如何使用Python將PowerPoint演示文稿(PPT、PPTX等)轉(zhuǎn)換為PDF文件,使演示內(nèi)容能夠在更多的設(shè)備上展示,感興趣的小伙伴可以了解下
    2024-01-01
  • Python自動(dòng)化測試selenium指定截圖文件名的方法

    Python自動(dòng)化測試selenium指定截圖文件名的方法

    這篇文章主要介紹了Python自動(dòng)化測試selenium指定截圖文件名方法,Selenium 支持 Web 瀏覽器的自動(dòng)化,它提供一套測試函數(shù),用于支持 Web 自動(dòng)化測試,下文基于python實(shí)現(xiàn)指定截圖文件名方法,需要的小伙伴可以參考一下
    2025-02-02
  • Python入門教程(十四)Python的集合

    Python入門教程(十四)Python的集合

    這篇文章主要介紹了Python入門教程(十四)Python的集合,Python是一門非常強(qiáng)大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04

最新評論

永济市| 沙雅县| 从化市| 康平县| 怀来县| 广西| 桦川县| 汪清县| 阿鲁科尔沁旗| 长葛市| 灵璧县| 收藏| 温宿县| 仪陇县| 家居| 若羌县| 那曲县| 沂源县| 铁力市| 元江| 通河县| 博罗县| 乌拉特中旗| 宝兴县| 通江县| 鹿邑县| 四川省| 台南县| 吴忠市| 平和县| 太白县| 林甸县| 万荣县| 东辽县| 长春市| 吉首市| 远安县| 淄博市| 那坡县| 乌拉特后旗| 上蔡县|