信息不匹配
标题
这里是源码
def main():
print(print('\n\t\t欢迎光临中移官旗店'))
go_shopping = True # 程序运行的标志
buy_git_num = [] # 存储用户所选的商品编号
merchandise_info = [("iphone6s ", 5800), ("mac book ", 9000),
("coffee ", 32), ("python book", 80),
("bicycle ", 1500)] # 商品信息
# """# 1. 利用枚举遍历打印商品列表
# for i,v in enumerate(merchandise_info,start=1): # i---下标 v----值
# print(f"\t\t\t{i}、{v[0]}\t\t¥{v[1]}")
# # print("\t\t\t%d、%s\t\t¥%d"%(i, v[0], v[1]))"""
# 利用for , 以及python内置的 .index() 方法取其下标 , 打印商品列表
str1 = "<商品列表>"
print(str1.center(42,'-'))
# 长这样------------------<商品列表>------------------
for i,v in enumerate(merchandise_info,start=1): # i---下标 v----值
print(f"\t\t\t{i}、{v[0]}\t\t¥{v[1]}")
print("-"*46)
salary_input_flag = True # 用户输入工资的标志
while salary_input_flag == True:
salary = input("请输入你的薪水:>>>>>") # 接受用户的输入
if salary.isdigit(): # 通过方法判断用户输入的是数字
salary = int(salary) # 如果为真 则转换为整型数字
salary_input_flag = False # 将标志设置为假 结束次循环
else: # 输入的不是数字 请重新输入
salary_input_flag = True # 将工资输入标志设为真, 即salary_input_flag = True , 继续该层循环
print('工资输入错误')
while go_shopping == True: # 当Go_shopping 设置为TRUE时进入次循环
buy_input_flag = True # 用户购买标志
while buy_input_flag == True: # 当购买标志为TRUE的时候开始次循环
Quit = False # 初始化退出标志
choice = input("请输入你要购买商品的序号或选择退出[1,2,3,4,5[q]:>>>")
if choice.isdigit(): # 判断用户输入的商品号是否为“数字”
choice = int(choice) # 是“数字”, 则将其转为整型
if choice > 0 and choice < 6:
buy_git_num.append(choice) # 存在 则将商品添加到购物车中
buy_input_flag = False # 同时 购买标志改为F 结束此循环
else: # 商品不存在给用户提示
buy_input_flag = True
print("商品不存在!")
continue # 此处后不再向下循环 开始新的循环
elif choice == 'Q' or choice == 'q':
Quit = True
go_shopping = False # 将购物标志设为False , 即该次循环结束后,不在继续循环
else:
print("\n商品不存在!!!")
continue # 此处后不再向下执行,而是开始新的循环
if Quit: # 如果退出标志被改为TRUE 执行if下的子模块
input_quit = input('是否支付购物车内的商品?[Y/N]\n<<<<<')
if input_quit == 'Y' or input_quit == 'y':
str2 = "<您已经购买以下商品>"
print("\n",str2.center(40,'-'),end='')
# 这里的遍历 购物车 看有几个商品
for i in range(1,len(buy_git_num) + 1):
print(f'\n\t{i} {merchandise_info[i-1][0]},'
f'{merchandise_info[i-1][1]}')
salary -= int(merchandise_info[i-1][1]) # 用户余额
print(f"\t剩余:{salary}")
if salary < 0: # 资不抵债
print(f'剩余:{salary}余额不足')
else: # 用户输入非Y/y的字符
str3 = "<您购物车中的商品>"
print('\n',str3.center(42,'-'),end='')
print(f'\n\t{i} {merchandise_info[i - 1][0]},'
f'{merchandise_info[i - 1][1]}')
print(f'您的当余额为{salary}')
print('-' * 46)
print('\n\t\t\t欢迎下次光临')
go_shopping = False # 同时将购物标志设为False,用于结束外层循
break
print(f'已经加入{merchandise_info[choice-1][0]}到您的购物车')
if __name__ == '__main__': # 主程序入口
main() # 调用