日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python用字典编写购物程序_Python编写购物小程序

發布時間:2025/3/20 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python用字典编写购物程序_Python编写购物小程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

購物車要求:

用戶名和密碼存放于文件中

啟動程序后,先登錄,登錄成功則讓用戶輸入工資,然后打印商品列表,失敗則重新登錄,超過三次則退出程序

允許用戶根據商品編號購買商品

用戶選擇商品后,檢測余額是否夠,夠就直接扣款,不夠就提醒

可隨時退出,退出時,打印已購買商品和余額

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import os

'''

用戶名和密碼存放于文件中

啟動程序后,先登錄,登錄成功則讓用戶輸入工資,然后打印商品列表,失敗則重新登錄,超過三次則退出程序

允許用戶根據商品編號購買商品

用戶選擇商品后,檢測余額是否夠,夠就直接扣款,不夠就提醒

可隨時退出,退出時,打印已購買商品和余額

'''

product_dic = { 1:['Iphone7',5800],

2:['Coffee',30],

3:['疙瘩湯',10],

4:['Python Book',99],

5:['Bike',199],

6:['ViVo X9',2499],

}

shop_list=[]

shop_dic={}

def shop():

Tag=True

remain_Balance = Balance

print("開始購物".center(30,"="))

for key,value in product_dic.items():

print(key,value)

while Tag:

serial_number=input("輸入你要購買商品的編號>>:").strip()

if serial_number.isdigit():

serial_number = int(serial_number)

if serial_number > 6:

print("請輸入1-6")

continue

elif serial_number == "q":

print("開始結算".center(20,"="))

for list in shop_list:

product_name = list[0]

product_price = list[1]

shop_dic.setdefault(product_name, {})

shop_dic[product_name].setdefault("number", 0)

shop_dic[product_name].setdefault("total", 0)

shop_dic[product_name]["price"] = product_price

if product_name in shop_dic:

shop_dic[product_name]["number"] += 1

shop_dic[product_name]["total"] = shop_dic[product_name]["price"] * shop_dic[product_name]["number"]

# 總價

total = 0

for product in shop_dic:

print(product.center(7),str(shop_dic[product]["number"]).center(7),str(shop_dic[product]["total"]).center(5))

total = total + shop_dic[product]["total"]

print("您當前余額為{}".format(Balance).center(20))

print("您購買總價格為{}".format(total).center(20))

print("您的剩余價格為{}".format(Balance-total).center(20))

# with open('user.txt',"r",encoding="utf-8") as read_f,open('.user.txt.swap',"w",encoding="utf-8") as write_f:

# for line in read_f:

# line = line.replace(str(Balnce),str(Balance-total))

# write_f.write(line)

# os.remove('user.txt')

# os.rename('.user.txt.swap', 'user.txt')

with open('user.txt', "r", encoding="utf-8") as read_f, open('.user.txt.swap', "w",

encoding="utf-8") as write_f:

for line in read_f:

line = line.replace(str(Balance), str(Balance - total))

write_f.write(line)

os.remove('user.txt')

os.rename('.user.txt.swap', 'user.txt')

break

elif serial_number == "exit":

print("直接退出")

else:

continue

print("你要購買的商品編號{},商品{},價格{}".format(serial_number,product_dic.get(serial_number)[0],product_dic.get(serial_number)[1]))

yes_no=input("輸入y/n,確定加入購物車>>:")

if yes_no == "y" :

if product_dic.get(serial_number)[1] > remain_Balance:

print("您的余額不夠.無法加入到購物車,還差{}".format(product_dic.get(serial_number)[1]-remain_Balance))

else:

shop_list.append(product_dic.get(serial_number))

remain_Balance = remain_Balance - product_dic.get(serial_number)[1]

print(shop_list,remain_Balance)

continue

elif yes_no == "n":

print(shop_list)

pass

continue

elif yes_no == "exit":

break

else:

print("非法輸入,請輸入y或者n")

continue

user_info={}

while True:

print('''購物車小程序:

1、購物

2、注冊賬號

3、充值

輸入q退出

''')

option=input("your option>>:").strip()

if not option.isdigit():

print("input 1 or 2\n")

continue

option=int(option)

if option > 2:

print("input 1 or 2\n")

continue

if option == 1:

Tag=True

count=0

while Tag:

input_user = input("your name>>:").strip()

with open("user.txt", encoding="utf-8", mode="r") as read_f:

for line in read_f:

line=line.strip("\n")

User=line.split(",")[0]

Password=line.split(",")[1]

Balance=line.split(",")[2]

if input_user == User:

user_info.setdefault(User,{})

user_info[User].setdefault("count",0)

user_info[User]["Password"]=Password

user_info[User]["Balance"]=Balance

if user_info[User]["count"] >= 3:

print("%s用戶鎖定" %(input_user))

Tag=False

break

else:

print("{}用戶不存在".format(input_user))

continue

if Tag:

input_password = input("your password>>:").strip()

if input_password == user_info[input_user]["Password"]:

print("{}用戶密碼登陸正確".format(input_user))

print("用戶:{},余額:{}".format(User, user_info[User]["Balance"]))

'''

這時候才開始購物

'''

Balance=int(Balance)

shop()

break

else:

user_info[input_user]["count"]+=1

print("{}用戶密碼登陸錯誤,還有{}嘗試機會".format(input_user, 3 - user_info[input_user]["count"]))

elif option == 2:

Tag=True

while Tag:

with open('user.txt', "r", encoding="utf-8") as read_f, open('.user.txt.swap', "w",encoding="utf-8") as write_f:

register_user=input("你要注冊的用戶>>:").strip()

for line in read_f:

line=line.strip("\n")

User = line.split(",")[0]

Balance = line.split(",")[2]

if register_user == User:

print("{}用戶已經存在".format(register_user))

yn_pay=input("是否充值y/n>>:")

if yn_pay == "y":

pay_money=input("你要充值多少>>:").strip()

print(Balance,pay_money)

print(line)

line=line.replace(Balance,str(int(Balance)+int(pay_money)))

write_f.write(line)

# os.remove("user.txt")

# os.rename('.user.txt.swap', 'user.txt')

elif yn_pay == "n":

pass

os.remove("user.txt")

os.rename('.user.txt.swap', 'user.txt')

總結

以上是生活随笔為你收集整理的python用字典编写购物程序_Python编写购物小程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。