首页 > 其他分享 >实验三

实验三

时间:2023-04-26 19:44:06浏览次数:27  
标签:count cart amount products print 实验 id

import random
print('用列表存储随机整数: ')
lst = [random.randint(0, 100) for i in range(5)]
print(lst)
print('\n用集合存储随机整数: ')
s1 = {random.randint(0, 100) for i in range(5)}
print(s1)
print('\n用集合存储随机整数: ')
s2 = set()
while len(s2) < 5:
    s2.add(random.randint(0, 100))
print(s2)

# 列表遍历
lst = [55, 92, 88, 79, 96]

# 遍历方式1: 使用while + 索引
i = 0
while i < len(lst):
    print(lst[i], end = ' ')
    i += 1

print()

# 遍历方式2:使用for + 索引
for i in range(len(lst)):
    print(lst[i], end = ' ')
print()

# 遍历方式3: 使用for...in
for i in lst:
    print(i , end = ' ')
print()
# 字典遍历
book_info = {'isbn': '978-7-5356-8297-0',
             '书名': '白鲸记',
             '作者': '克里斯多夫.夏布特',
             '译者': '高文婧',
             '出版社': '湖南美术出版社',
             '售价': 82
             }

# 遍历key-value对:实现方式1
for key, value in book_info.items():
    print(f'{key}: {value}')
print()

# 遍历key-value对:实现方式2
for item in book_info.items():
    print(f'{item[0]}: {item[1]}')
print()

# 遍历值:实现方式1
for value in book_info.values():
    print(value, end = ' ')
print()

# 遍历值: 实现方式2
for key in book_info.keys():
    print(book_info[key], end = ' ')

 

book_infos = [{'书名': '昨日的世界', '作者': '斯蒂芬.茨威格'},
              {'书名': '局外人', '作者': '阿尔贝.加缪'},
              {'书名': '设计中的设计', '作者': '原研哉'},
              {'书名': '万历十五年', '作者': '黄仁宇'},
              {'书名': '刀锋', '作者': '毛姆'}
             ]
i=0
while i<len(book_infos):
    print(f'{i+1}.',end=' ')
    n=book_infos[i]
    print('《'+n['书名']+'》'+','+n['作者'])
    i+=1

 

text='''The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!'''
text = text.lower()
d = {}
for i in range(97,97+26):
    t = dict.fromkeys(chr(i),text.count(chr(i)))
    d.update(t)
d1 = sorted(d.items(), key = lambda x:x[1], reverse = True)
for i in d1:
    print(f'{i[0]}:{i[1]}')

 

code_majors = [{'8326': '地信类'},
               {'8329': '计算机类'},
               {'8330': '气科类'},
               {'8336': '防灾工程'},
               {'8345': '海洋科学'},
               {'8382': '气象工程'}]
print(f"{'专业代号信息':-^50}")
for i in code_majors:
    lst = list(i.items())
    print(f'{lst[0][0]}: {lst[0][1]}')

print(f"{'学生专业查询':-^50}")
code_majors_dict = dict()
lst4 = []
for i in code_majors:
    t = list(i.items())
    code_majors_dict.update(i)
    lst4.append(t[0][0])

stu_num = input('请输入学号:')
while stu_num != '#':
    lst2 = list(stu_num)
    lst3 = lst2[4:8]
    entered_code = ''.join(lst3)

    if entered_code in lst4:
        print(f'专业是:{code_majors_dict[entered_code]}')
    else:
        print('不在这些专业中...')
    stu_num = input('请输入学号:')
print('查询结束...')

 

import random
lucky_day = random.randint(1,31)
print(f'猜猜2023年5月哪一天会是你的lucky day{chr(0x1f609)}')
entered_number = eval(input('你有三次机会,猜吧(1~31):'))

i = 0
while i < 3:
    if entered_number == 0:
        print('地球上没有这一天啦,你是外星人吗?')
    elif entered_number < lucky_day:
        print('猜早了,你的lucky day还没到呢')
    elif entered_number > lucky_day:
        print('猜晚了,你的lucky day已经过去了哦')
    else:
        print(f'哇,猜中了{chr(0x1f923)}')
        break
    if i == 2:
        print('哇哦,次数用光啦.')
        print(f'偷偷告诉你,5月你的lucky day是{lucky_day}号.good luck{chr(0x1f60A)}')
        break
    entered_number = eval(input('再猜(1~31):'))
    i += 1

 

 

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
         '2049777002': ['音乐', '旅行'],
         '2049777003': ['马拉松', '健身', '游戏'],
         '2049777004': [],
         '2049777005': ['足球', '阅读'],
         '2049777006': ['发呆', '闲逛'],
         '2049777007': [],
         '2049777008': ['书法', '电影'],
         '2049777009': ['音乐', '阅读', '电影', '漫画'],
         '2049777010': ['数学', '推理', '音乐', '旅行']
        }
lst1 = list(datas.items())
lst2 = []
i = 0
while i < len(lst1):
    lst2.append(lst1[i][1])
    i += 1
lst3 = []
for a in range(0,len(lst2)):
    for b in range(0,len(lst2[a])):
        lst3.append(lst2[a][b])
lst4 = list(set(lst3))
d = {}
for i in range(len(lst4)):
    t = {lst4[i]:lst3.count(lst4[i])}
    d.update(t)
d1 = sorted(d.items(), key = lambda x:x[1], reverse = True)
for i in d1:
    print(f'{i[0]}:{i[1]}')

 

"""
家用电器销售系统
v1.3
"""

#欢迎信息
print('欢迎使用家用电器销售系统!')

#商品数据初始化
products=[
   ['0001','电视机','海尔',5999.00,20],
   ['0002','冰箱','西门子',6998.00,15],
   ['0003','洗衣机','小天鹅',1999.00,10],
   ['0004','空调','格力',3900.00,0],
   ['0005','热水器','格力',688.00,30],
   ['0006','笔记本','联想',5699.00,10],
   ['0007','微波炉','苏泊尔',480.00,33],
   ['0008','投影仪','松下',1250.00,12],
   ['0009','吸尘器','飞利浦',999.00,9]
]

#初始化用户购物车
products_cart = []

option = input('请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账')
while option in ['1','2','3']:
    if option == '1':
        #产品信息列表
        print('产品和价格信息如下:')
        print('*' * 60)
        print('%-10s' %'编号', '%-10s' %'名称', '%-10s' %'品牌', '%-10s' %'价格', '%-10s' %'库存数量')
        print('-' * 65)
        for i in range(len(products)):
            print('%-10s' %products[i][0], '%-10s' %products[i][1], '%-10s' %products[i][2],
            '%-10s' %products[i][3], '%-10s' %products[i][4])
        print('-' * 65)
    elif option == '2':
        products_id = input('请输入您要购买的产品编号:')
        while products_id not in [item[0] for item in products]:
            products_id = input('编号不存在,请重新输入您要购买的产品编号:')

        count = int(input('请输入您要购买的产品数量:'))
        while count > products[int(products_id) - 1][4]:
            count = int(input('数据超出库存,请重新输入您要购买的产品数量:'))

        #将所购买商品加入购物车
        if products_id not in [item[0] for item in products_cart]:
            products_cart.append([products_id,count])
        else:
            for i in range(len(products_cart)):
                if products_cart[i][0] == products_id:
                    products_cart[i][1] += count

        #更新商品列表
        for i in range(len(products)):
            if products[i][0] == products_id:
                products[i][4] -= count

    else:
        print('购物车信息如下:')
        print('*' * 60)
        print('%-10s' %'编号', '%-10s' %'购买数量')
        print('-' * 65)
        for i in range(len(products_cart)):
            print('%-10s' %products_cart[i][0], '%6d' %products_cart[i][1])
        print('-' * 65)
    option = input('操作成功!请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账')

#计算金额
if len(products_cart) > 0:
    amount = 0
    for i in range(len(products_cart)):
        product_index = 0
        for j in range(len(products)):
            if products[j][0] == products_cart[i][0]:
                product_index = j
                break
        price = products[product_index][3]
        count = products_cart[i][1]
        amount += price * count

    if 5000 < amount <= 10000:
        amount = amount * 0.95
    elif 10000 < amount <= 20000:
        amount = amount * 0.90
    elif amount > 20000:
        amount = amount * 0.85
    else:
        amount = amount * 1
    print('购买成功,您需要支付%8.2f 元' %amount)

#退出系统
print('谢谢您的光临,下次再见!')

 

"""
家用电器销售系统
v1.3
"""

#欢迎信息
print('欢迎使用家用电器销售系统!')

#商品数据初始化
products=[
   ['0001','电视机','海尔',5999.00,20],
   ['0002','冰箱','西门子',6998.00,15],
   ['0003','洗衣机','小天鹅',1999.00,10],
   ['0004','空调','格力',3900.00,0],
   ['0005','热水器','格力',688.00,30],
   ['0006','笔记本','联想',5699.00,10],
   ['0007','微波炉','苏泊尔',480.00,33],
   ['0008','投影仪','松下',1250.00,12],
   ['0009','吸尘器','飞利浦',999.00,9]
]

#初始化用户购物车
products_cart = []

option = input('请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账')
while option in ['1','2','3']:
    if option == '1':
        #产品信息列表
        print('产品和价格信息如下:')
        print('*' * 60)
        print(f"{'编号': <10} {'名称': <10} {'品牌': <10} {'价格': <10} {'库存数量': <10} ")
        print('-' * 65)
        for i in range(len(products)):
            print(f'{products[i][0]: <10} {products[i][1]: <10} {products[i][2]: <10} {products[i][3]: <10} {products[i][4]: <10}')
        print('-' * 65)
    elif option == '2':
        products_id = input('请输入您要购买的产品编号:')
        while products_id not in [item[0] for item in products]:
            products_id = input('编号不存在,请重新输入您要购买的产品编号:')

        count = int(input('请输入您要购买的产品数量:'))
        while count > products[int(products_id) - 1][4]:
            count = int(input('数据超出库存,请重新输入您要购买的产品数量:'))

        #将所购买商品加入购物车
        if products_id not in [item[0] for item in products_cart]:
            products_cart.append([products_id,count])
        else:
            for i in range(len(products_cart)):
                if products_cart[i][0] == products_id:
                    products_cart[i][1] += count

        #更新商品列表
        for i in range(len(products)):
            if products[i][0] == products_id:
                products[i][4] -= count

    else:
        print('购物车信息如下:')
        print('*' * 60)
        print(f"{'编号': <10} {'购买数量': <10}")
        print('-' * 65)
        for i in range(len(products_cart)):
            print(f"{products_cart[i][0]: <10} {products_cart[i][1]: > 6}")
        print('-' * 65)
    option = input('操作成功!请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账')

#计算金额
if len(products_cart) > 0:
    amount = 0
    for i in range(len(products_cart)):
        product_index = 0
        for j in range(len(products)):
            if products[j][0] == products_cart[i][0]:
                product_index = j
                break
        price = products[product_index][3]
        count = products_cart[i][1]
        amount += price * count

    if 5000 < amount <= 10000:
        amount = amount * 0.95
    elif 10000 < amount <= 20000:
        amount = amount * 0.90
    elif amount > 20000:
        amount = amount * 0.85
    else:
        amount = amount * 1
    print(f'购买成功,您需要支付{amount:.2f}元')

#退出系统
print('谢谢您的光临,下次再见!')

 

"""
家用电器销售系统
v1.4
"""

#欢迎信息
print('欢迎使用家用电器销售系统!')

#商品数据初始化
products = [
  {'id':"0001", 'name':'电视机', 'brand':'海尔', 'price':5999.00, 'count':20},
  {'id':"0002", 'name':'冰箱', 'brand':'西门子', 'price':6998.00, 'count':15},
  {'id':"0003", 'name':'洗衣机', 'brand':'小天鹅', 'price':1999.00, 'count':10},
  {'id':"0004", 'name':'空调', 'brand':'格力', 'price':3900.00, 'count':0},
  {'id':"0005", 'name':'热水器', 'brand':'格力', 'price':688.00, 'count':30},
  {'id':"0006", 'name':'笔记本', 'brand':'联想', 'price':5699.00, 'count':10},
  {'id':"0007", 'name':'微波炉', 'brand':'苏泊尔', 'price':480.00, 'count':33},
  {'id':"0008", 'name':'投影仪', 'brand':'松下', 'price':1250.00, 'count':12},
  {'id':"0009", 'name':'吸尘器', 'brand':'飞利浦', 'price':999.00, 'count':9}
]

#初始化购物车
products_cart = []

option = input('请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账')
while option in ['1','2','3']:
    if option == '1':
        #产品信息列表
        print('产品和价格信息如下:')
        print('*' * 60)
        print('%-10s' %'编号', '%-10s' %'名称', '%-10s' %'品牌', '%-10s' %'价格', '%-10s' %'库存数量')
        print('-' * 65)
        for i in range(len(products)):
            print('%-10s' %products[i]['id'], '%-10s' %products[i]['name'], '%-10s' %products[i]['brand'],
            '%-10s' %products[i]['price'], '%-10s' %products[i]['count'])
        print('-' * 65)
    elif option == '2':
        products_id = input('请输入您要购买的产品编号:')
        while products_id not in [item['id'] for item in products]:
            products_id = input('编号不存在,请重新输入您要购买的产品编号:')

        count = int(input('请输入您要购买的产品数量:'))
        while count > products[int(products_id) - 1]['count']:
            count = int(input('数据超出库存,请重新输入您要购买的产品数量:'))

        #将所购买商品加入购物车
        if products_id not in [item['id'] for item in products_cart]:
            products_cart.append({'id':products_id, 'count':count})
        else:
            for i in range(len(products_cart)):
                if products_cart[i].get('id') == products_id:
                    products_cart[i]['count'] += count

        #更新商品列表
        for i in range(len(products)):
            if products[i]['id'] == products_id:
                products[i]['count'] -= count

    else:
        print('购物车信息如下:')
        print('*' * 60)
        print('%-10s' %'编号', '%-10s' %'购买数量')
        print('-' * 65)
        for i in range(len(products_cart)):
            print('%-10s' %products_cart[i]['id'], '%6d' %products_cart[i]['count'])
        print('-' * 65)
    option = input('操作成功!请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账')

#计算金额
if len(products_cart) > 0:
    amount = 0
    for i in range(len(products_cart)):
        product_index = 0
        for j in range(len(products)):
            if products[j]['id'] == products_cart[i]['id']:
                product_index = j
                break
        price = products[product_index]['price']
        count = products_cart[i]['count']
        amount += price * count

    if 5000 < amount <= 10000:
        amount = amount * 0.95
    elif 10000 < amount <= 20000:
        amount = amount * 0.90
    elif amount > 20000:
        amount = amount * 0.85
    else:
        amount = amount * 1
    print('购买成功,您需要支付%8.2f 元' %amount)

#退出系统
print('谢谢您的光临,下次再见!')

 

 

"""
家用电器销售系统
v1.4
"""

#欢迎信息
print('欢迎使用家用电器销售系统!')

#商品数据初始化
products = [
  {'id':"0001", 'name':'电视机', 'brand':'海尔', 'price':5999.00, 'count':20},
  {'id':"0002", 'name':'冰箱', 'brand':'西门子', 'price':6998.00, 'count':15},
  {'id':"0003", 'name':'洗衣机', 'brand':'小天鹅', 'price':1999.00, 'count':10},
  {'id':"0004", 'name':'空调', 'brand':'格力', 'price':3900.00, 'count':0},
  {'id':"0005", 'name':'热水器', 'brand':'格力', 'price':688.00, 'count':30},
  {'id':"0006", 'name':'笔记本', 'brand':'联想', 'price':5699.00, 'count':10},
  {'id':"0007", 'name':'微波炉', 'brand':'苏泊尔', 'price':480.00, 'count':33},
  {'id':"0008", 'name':'投影仪', 'brand':'松下', 'price':1250.00, 'count':12},
  {'id':"0009", 'name':'吸尘器', 'brand':'飞利浦', 'price':999.00, 'count':9}
]

#初始化购物车
products_cart = []

option = input('请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账  ')
while option in ['1','2','3']:
    if option == '1':
        #产品信息列表
        print('产品和价格信息如下:')
        print('*' * 60)
        print(f"{'编号': <10} {'名称': <10} {'品牌': <10} {'价格': <10} {'库存数量': <10} ")
        print('-' * 65)
        for i in range(len(products)):
            print(f"{products[i]['id']: <10} {products[i]['name']: <10} {products[i]['brand']: <10} {products[i]['price']: <10} {products[i]['count']: <10}")
        print('-' * 65)
    elif option == '2':
        products_id = input('请输入您要购买的产品编号:')
        while products_id not in [item['id'] for item in products]:
            products_id = input('编号不存在,请重新输入您要购买的产品编号:')

        count = int(input('请输入您要购买的产品数量:'))
        while count > products[int(products_id) - 1]['count']:
            count = int(input('数据超出库存,请重新输入您要购买的产品数量:'))

        #将所购买商品加入购物车
        if products_id not in [item['id'] for item in products_cart]:
            products_cart.append({'id':products_id, 'count':count})
        else:
            for i in range(len(products_cart)):
                if products_cart[i].get('id') == products_id:
                    products_cart[i]['count'] += count

        #更新商品列表
        for i in range(len(products)):
            if products[i]['id'] == products_id:
                products[i]['count'] -= count

    else:
        print('购物车信息如下:')
        print('*' * 60)
        print(f"{'编号': <10} {'购买数量': <10}")
        print('-' * 65)
        for i in range(len(products_cart)):
            print(f"{products_cart[i]['id']: <10} {products_cart[i]['count']: > 6}")
        print('-' * 65)
    option = input('操作成功!请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账')

#计算金额
if len(products_cart) > 0:
    amount = 0
    for i in range(len(products_cart)):
        product_index = 0
        for j in range(len(products)):
            if products[j]['id'] == products_cart[i]['id']:
                product_index = j
                break
        price = products[product_index]['price']
        count = products_cart[i]['count']
        amount += price * count

    if 5000 < amount <= 10000:
        amount = amount * 0.95
    elif 10000 < amount <= 20000:
        amount = amount * 0.90
    elif amount > 20000:
        amount = amount * 0.85
    else:
        amount = amount * 1
    print(f'购买成功,您需要支付{amount:.2f}元')

#退出系统
print('谢谢您的光临,下次再见!')

 

标签:count,cart,amount,products,print,实验,id
From: https://www.cnblogs.com/hy-king/p/17357077.html

相关文章

  • 实验3
    task1实验源码运行效果截图task2_1实验源码 运行效果截图 task2_2实验源码 运行效果截图task2_3实验源码 运行效果截图 task3实验源码 运行效果截图 task4实验源码  运行效果截图 task5实验源码 运行效果截图 task6实验......
  • 山东大学数据结构实验11 搜索树
    描述创建带索引的二叉搜索树类。存储结构使用链表,提供操作:插入、删除、按名次删除、查找、按名次查找、升序输出所有元素。格式输入格式输入第一行一个数字m(m<=1000000),表示有m个操作。接下来m行,每一行有两个数字a,b:当输入的第一个数字a为0时,输入的第二个数字b表示......
  • 山东大学数据结构实验10 堆及其应用
    内容创建最小堆类。最小堆的存储结构使用数组。提供操作:插入、删除、初始化。题目第一个操作是建堆操作,接下来是对堆的插入和删除操作,插入和删除都在建好的堆上操作。格式输入第一行一个数n(n<=5000),代表堆的大小。第二行n个数,代表堆的各个元素。第三行一个数m(m<=1000),代......
  • 山东大学数据结构实验9 二叉树操作
    描述创建二叉树类。二叉树的存储结构使用链表。提供操作:前序遍历、中序遍历、后序遍历、层次遍历、计算二叉树结点数目、计算二叉树高度。格式输入格式第一行为一个数字n(10<=n<=100000),表示有这棵树有n个节点,编号为1~n。之后n行每行两个数字,第i行的两个数字a、b表示编号......
  • 山东大学数据结构实验8 散列表
    要求使用线性开型寻址实现描述给定散列函数的除数D和操作数m,输出每次操作后的状态。有以下三种操作:插入x,若散列表已存在x,输出“Existed”,否则插入x到散列表中,输出所在的下标。查询x,若散列表不含有x,输出“-1”,否则输出x对应下标。删除x,若散列表不含有x,输出“NotFound”,否......
  • 实验1-设备调试
    实验1-设备调试实验题目1制作网线制作一条标准并能够进行通信的网线(直连线),若实验室无网线制作物料则本条需求可跳过。直连线:即同一根网线的两端使用同样的线序,要么都是568A标准,要么都是568B标准。交叉线:即同一根网线的两段使用不同的线序。一头是568A标准,另外一头......
  • 实验3 控制语句与组合数据类型应用编程
    task1.py程序代码:1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合·存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print(�......
  • 实验3 控制语句与组合数据类型应用编程
    任务一importrandomprint('用列表存储随机整数:')lst=[random.randint(0,100)foriinrange(5)]print(lst)print('\n用集合存储随机整数:')s1={random.randint(0,100)foriinrange(5)}print(s1)print('\n用集合存储随机整数:')s2=set()whilele......
  • 实验3 控制语句与组合数据类型应用编程
    实验任务11importrandom2print('用列表存储随机整数:')3lst=[random.randint(0,100)foriinrange(5)]4print(lst)5print('\n用集合存储随机整数:')6s1={random.randint(0,100)foriinrange(5)}7print(s1)8print('\n用集合存储随机整数:......
  • 实验任务3
    实验任务1源代码:importrandomprint('用列表存储随机整数:')lst=[random.randint(0,100)foriinrange(5)]print(lst)print('\n用集合存储随机整数:')s1={random.randint(0,100)foriinrange(5)}print(s1)print('\n用集合存储随机整数:')s2=set()w......