ホームページ > バックエンド開発 > Python チュートリアル > Python によるモール ショッピング アプレットの紹介

Python によるモール ショッピング アプレットの紹介

巴扎黑
リリース: 2017-08-13 14:58:47
オリジナル
2276 人が閲覧しました

この記事では、Python を使用して実装されたショッピング アプレットのアイデア要件と関連コードを共有します。これは非常にシンプルで実用的です。必要な場合は、それを参照してください。

要件: プログラムを開始した後、ユーザーに自分のアイデアを入力してもらいます。給与を入力し、シリアル番号が記載された製品のリストを印刷します

ユーザーは製品のシリアル番号を入力して該当する製品を購入するか、「q」を入力して購入インターフェイスを終了します

製品を選択した後、残高が十分であるかどうかを確認します。十分な場合は、支払いが直接差し引かれます。十分でない場合は、残高が不足していることを示すメッセージが表示されます。または、「q」を入力して購入インターフェイスを終了すると、次のメッセージが表示されます。購入を続けるには? (Y/N)、複数の購入を実現します
ユーザーが商品を購入した場合は、購入した商品のリスト、合計金額、残高を印刷します。ユーザーが商品を購入しなかった場合は、取引が終了しました、ショッピングは失敗しましたを印刷します
Readme:

プログラムを実行し、給与を入力し、製品リストのシリアル番号に従って購入する製品を選択します。複数回購入するか購入しないかを選択できます

フローチャート:

コード:

# 简单的购物小程序

product_list = [
  ['surface pro 4', 7800],
  ['dell xps 15', 12000],
  ['macbook', 12000],
  ['小米6', 2499],
  ['iphone7', 4600],
  ['坚果Pro', 1499]
]
shopping_list = []


# 判断输入的薪水格式是否正确
while True:
  salary = input('\n请输入您的薪水:')
  if not salary.isdigit():          # 薪水不是数字,结束循环
    print('\n输入格式有误!请重新输入...')
    continue
  break


balance = salary = int(salary)

print('\n-----------欢迎购买------------\n')

# 生成带序号的商品列表
for index, item in enumerate(product_list):
  print(index, item)


# 判断输入的序号是否符合要求
while True:

  while True:
    i = input('\n输入您要购买的商品序号,或输入 q 取消购买:')
    if i == 'q':                 # 输入 q 退出购买界面
      while True:
        a = input('\n是否继续购买?(Y/N):')
        if a != 'n' and a != 'N' and a != 'y' and a != 'Y':
          print('\n输入格式有误,请重试...')
          continue
        elif a == 'y' or a == 'Y':         # 继续购买
          break
        else:                    # 购买完毕
          if balance == salary:       # 没有买任何东西
            print('\n交易结束,购买失败...')
            exit()
          else:               # 结算  
            print('\n您已成功购买以下商品:\n')
            for item in shopping_list:
              print(item)
            print('\n共消费金额 %d 元,余额 %d 元' % (salary - balance, balance))
            exit()
      continue

    if not i.isdigit():             # 序号不是数字,结束循环
      print('\n输入格式有误!请重新输入...')
      continue

    i = int(i)

    if i < 0 or i >= len(product_list):  # 序号范围不正确,结束循环
      print(&#39;\n此商品不存在,请重新输入...&#39;)
      continue
    break

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

  # 判断余额是否充足,够就直接扣款,不够提醒
  if price <= balance:
    balance -= price
    shopping_list.append(product_list[i])
    print(&#39;\n您已成功购买 %s ,当前余额为 %d 元&#39; %(product, balance))
  else:
    print(&#39;\n购买失败,您的余额不足...&#39;)

  while True:
    a = input(&#39;\n是否继续购买?(Y/N):&#39;)
    if a != &#39;n&#39; and a != &#39;N&#39; and a != &#39;y&#39; and a != &#39;Y&#39;:
      print(&#39;\n输入格式有误,请重试...&#39;)
      continue
    break

  if a == &#39;Y&#39; or a == &#39;y&#39;:
    continue
  else:
    break

if balance == salary:
  print(&#39;\n交易结束,购买失败...&#39;)
  exit()
else:
  print(&#39;\n您已成功购买以下商品:\n&#39;)
  for item in shopping_list:
    print(item)
  print(&#39;\n共消费金额 %d 元,余额 %d 元&#39; %(salary-balance, balance))
  exit()
ログイン後にコピー

以上がPython によるモール ショッピング アプレットの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート