Heim  >  Artikel  >  Backend-Entwicklung  >  Pythons Einführung in Mall-Shopping-Applets

Pythons Einführung in Mall-Shopping-Applets

巴扎黑
巴扎黑Original
2017-08-13 14:58:472210Durchsuche

Dieser Artikel teilt Ihnen die Ideenanforderungen und zugehörigen Codes eines in Python implementierten Einkaufs-Applets mit. Es ist sehr einfach und praktisch. Freunde in Not können sich darauf beziehen.

Anforderungen:

Nachdem Sie das Programm gestartet haben, lassen Sie den Benutzer sein Gehalt eingeben und drucken Sie dann eine Produktliste mit Seriennummern aus
Der Benutzer gibt die Produktseriennummer ein, um das entsprechende Produkt zu kaufen, oder gibt „q“ ein, um die Kaufoberfläche zu verlassen
Überprüfen Sie nach der Auswahl des Produkts, ob das Guthaben ausreicht. Wenn es nicht ausreicht, wird das Guthaben sofort abgebucht.
Bei jedem Kauf eines Artikels wird angezeigt, dass das Guthaben nicht ausreicht. oder „q“ eingibt, um die Kaufoberfläche zu verlassen, wird folgende Meldung angezeigt: Möchten Sie mit dem Kauf fortfahren? (J/N), mehrere Einkäufe tätigen
Wenn der Benutzer Waren kauft, drucken Sie die Liste der gekauften Waren, den Gesamtbetrag und den Restbetrag aus, wenn der Benutzer keine Waren kauft, drucken Sie: Transaktion beendet, Einkauf fehlgeschlagen
Readme:

Führen Sie das Programm aus, geben Sie Ihr Gehalt ein und wählen Sie das zu kaufende Produkt anhand der Seriennummer in der Produktliste aus. Sie können wählen, ob Sie es mehrmals kaufen möchten oder nicht

Flussdiagramm:

Code:


# 简单的购物小程序

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()

Das obige ist der detaillierte Inhalt vonPythons Einführung in Mall-Shopping-Applets. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn