首页 > 其他分享 >实验三

实验三

时间:2023-04-25 21:15:04浏览次数:39  
标签:count product cart 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)

问题一:(0,100) 可以

问题二:

利用 list(range(5)) 生成的有序序列范围是【0,4】整数,不包括5 利用 list(range(1,5)) 生成的有序序列范围是【1,4】,不包括5 问题三: 不一定是,取不到零 问题四: 一定是
lst = [55, 92, 88, 79, 96]
i = 0
while i < len(lst):
     print(lst[i], end = ' ')
     i += 1
print()
for i in range(len(lst)):
     print(lst[i], end = ' ')
print()
for i in lst:
    print(i , end = ' ')
print()

book_info = {'isbn': '978-7-5356-8297-0',
               '书名': '白鲸记',
               '作者': '克里斯多夫.夏布特',
              '译者': '高文婧',
              '出版社': '湖南美术出版社',
           '售价':82}

for key, value in book_info.items():
    print(f'{key}: {value}')
print()
for item in book_info.items():
    print(f'{item[0]}: {item[1]}')
print()
for value in book_info.values():
     print(value, end = ' ')
print()
 
for key in book_info.keys():
    print(book_info[key], end = ' ')

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

for key in dict(book_infos).keys():
    print(dict(book_infos)[key], end=' ')

 

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!'''

l=[text.lower().count(chr(i)) for i in range(97,97+26)]
d={}
for j in range(26):
    d.update({chr(j+97):l[j]})

l1=list(d.items())
l2=[(v,k) for k,v in l1]
for v,k in sorted(l2,reverse=True):
    print(f'{k}:{v}')

code_majors={8326:'地信类',
             8329:'计算机类',
             8330:'气科类',
             8336:'防灾工程',
             8345:'海洋科学',
             8382:'气象工程'}

print(f'{"专业代号信息":-^50s}')
for k,v in code_majors.items():
    print(f'{k}:{v}')

print(f'{"学生专业查询":-^50s}')
n=input('请输入学号:')
while n!='#':
    if int(n[4:8]) in code_majors:
      print(f'专业是:{code_majors.get(int(n[4:8]))}')
    else:
        print('不在这些专业中...')
    n=input('请输入学号:')
print('查询结束...')

import random
lucky_day=random.randint(1,31)

print(f'猜猜2023年5月哪一天会是你的lucky day{chr(0x1f609)}')
d=eval(input('你有三次机会,猜吧(1~31):'))
for i in range(3):
    if d<1 or d>31:
        print('地球上没有这一天啦,你是外星人吗')
    elif d<lucky_day:
        print('猜早啦,你的lucky day还没到呢')
    elif d>lucky_day:
        print('猜晚啦,你的lucky day已经过啦')
    else:
        print(f'哇,猜中了{chr(0x1f923)}')
        break
    if i==2:
        break
    d=eval(input('再猜(1~31):'))

if d!=lucky_day:
    print('哇哦,次数用光啦.')
    print(f'偷偷告诉你,5月你的lucky day是{lucky_day}号.good luck{chr(0x1f60a)}')

idatas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
         '2049777002': ['音乐', '旅行'],
         '2049777003': ['马拉松', '健身', '游戏'],
         '2049777004': [],
         '2049777005': ['足球', '阅读'],
         '2049777006': ['发呆', '闲逛'],
         '2049777007': [],
         '2049777008': ['书法', '电影'],
         '2049777009': ['音乐', '阅读', '电影', '漫画'],
         '2049777010': ['数学', '推理', '音乐', '旅行']}

l=[]
for v in datas.values():
    l.extend(v)
s=set(l)

d={}
for i in s:
    d[i]=l.count(i)

l1=list(d.items())
l2=[(v,k) for k,v in l1]
for v,k in sorted(l2,reverse=True):
    print(f'{k}:{v}')

"""
家用电器销售系统
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('**************************************************************')
        print('%-10s'%'编号', '%-10s'%'名称',  '%-10s' %'品牌', '%-10s'%' 价格',
        '%-10s'%'库存数量')
        print('--------------------------------------------------------------')
        for i in range(len(products)):
            print('%-10s'%products[i][0],'%-10s'%products[i][1],'%-10s'%products[i][2],
            '%10.2f'%products[i][3],'%10d'%products[i][4])
        print('--------------------------------------------------------------')
    elif option=='2':
        product_id=input('请输入您要购买的产品编号:')
        while product_id not in [item[0] for item in products]:
            product_id=input('编号不存在,请重新输入您要购买的产品编号:')

        count=int(input('请输入您要购买的产品数量:'))
        while count>products[int(product_id)-1][4]:
            count=int(input('数量超出库存,请重新输入您要购买的产品数量:'))
            if product_id not in [item[0] for item in products_cart]:
                products_cart.append([product_id,count])
        else:
            for i in range(len(products_cart)):
               if products_cart[i][0]==product_id:
                    products_cart[i][1]+=count
                    for i in range(len(products)):
                        if products[i][0]==product_id:
                             products[i][4]-=count
    else:
        print('购物车信息如下:')
        print('******************************')
        print('%-10s'%'编号','%-10s'%'购买数量')
        print('------------------------------')
        for i in range(len(products_cart)):
            print('%-10s'%products_cart[i][0],'%6d'%products_cart[i][1])
        print('------------------------------')
    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('**************************************************************')
        print(f"{'编号':<10s}{'名称':<10s}{'品牌':<10s}{'价格':<10s}{'库存数量':<10s}")
        print('--------------------------------------------------------------')
        for i in range(len(products)):
            print(f'{products[i][0]:<10s}{products[i][1]:<10s}{products[i][2]:<10s}{products[i][3]:<15.2f}{products[i][4]:<10d}')
        print('--------------------------------------------------------------')
    elif option=='2':
        product_id=input('请输入您要购买的产品编号:')
        while product_id not in [item[0] for item in products]:
            product_id=input('编号不存在,请重新输入您要购买的产品编号:')

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

    
        if product_id not in [item[0] for item in products_cart]:
            products_cart.append([product_id,count])
        else:
            for i in range(len(products_cart)):
               if products_cart[i][0]==product_id:
                    products_cart[i][1]+=count

      
        for i in range(len(products)):
            if products[i][0]==product_id:
                products[i][4]-=count
    else:
        print('购物车信息如下:')
        print('******************************')
        print(f"{'编号':<10s}{'购买数量':<10s}")
        print('------------------------------')
        for i in range(len(products_cart)):
            print(f'{products_cart[i][0]:<15s}{products_cart[i][1]:<6d}')
        print('------------------------------')
    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:<8.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('**************************************************************')
        print('%-10s'%'编号', '%-10s'%'名称',  '%-10s' %'品牌', '%-10s'%' 价格',
        '%-10s'%'库存数量')
        print('--------------------------------------------------------------')
        for i in range(len(products)):
            print('%-10s'%products[i]['id'],'%-10s'%products[i]['name'],
            '%-10s'%products[i]['brand'],'%10.2f'%products[i]['price'],
            '%10d'%products[i]['count'])
        print('--------------------------------------------------------------')
    elif option=='2':
        product_id=input('请输入您要购买的产品编号:')
        while product_id not in [item['id'] for item in products]:
            product_id=input('编号不存在,请重新输入您要购买的产品编号:')

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

        if product_id not in [item['id'] for item in products_cart]:
            products_cart.append({'id':product_id,'count':count})
        else:
            for i in range(len(products_cart)):
                if products_cart[i].get('id')==product_id:
                    products_cart[i]['count']+=count

        for i in range(len(products)):
            if products[i]['id']==product_id:
                products[i]['count']-=count
    else:
        print('购物车信息如下:')
        print('******************************')
        print('%-10s'%'编号','%-10s'%'购买数量')
        print('------------------------------')
        for i in range(len(products_cart)):
            print('%-10s'%products_cart[i]['id'],'%6d'%products_cart[i]['count'])
        print('------------------------------')
    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('**************************************************************')
        print(f"{'编号':<10s}{'名称':<10s}{'品牌':<10s}{'价格':<10s}{'库存数量':<10s}")
        print('--------------------------------------------------------------')
        for i in range(len(products)):
            print(f"{products[i]['id']:<10s}{products[i]['name']:<10s}{products[i]['brand']:<10s}{products[i]['price']:<15.2f}{products[i]['count']:<10d}")
        print('--------------------------------------------------------------')
    elif option=='2':
        product_id=input('请输入您要购买的产品编号:')
        while product_id not in [item['id'] for item in products]:
            product_id=input('编号不存在,请重新输入您要购买的产品编号:')

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

    
        if product_id not in [item['id'] for item in products_cart]:
            products_cart.append({'id':product_id,'count':count})
        else:
            for i in range(len(products_cart)):
                if products_cart[i].get('id')==product_id:
                    products_cart[i]['count']+=count

        for i in range(len(products)):
            if products[i]['id']==product_id:
                products[i]['count']-=count
    else:
        print('购物车信息如下:')
        print('******************************')
        print(f"{'编号':<15s}{'购买数量':<6s}")
        print('------------------------------')
        for i in range(len(products_cart)):
            print(f"{products_cart[i]['id']:<10s}{products_cart[i]['count']:<6d}")
        print('------------------------------')
    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:<8.2f}元')


print('谢谢您的光临,下次再见!')

 

 

标签:count,product,cart,products,print,实验,id
From: https://www.cnblogs.com/wxyttk/p/17347765.html

相关文章

  • 山东大学数据结构实验七
    卡片游戏tips:这个题还要参考,同学要加油啦~~要求创建队列类,使用数组描述的循环队列实现卡片游戏描述假设桌上有一叠扑克牌,依次编号为1-n(从上至下)。当至少还有两张的时候,可以进行操作:把第一张牌扔掉,然后把新的第一张(原先扔掉的牌下方的那张牌,即第二张牌)放到整叠牌的最后。......
  • 实验三
    #1实验内容:1#12importrandom3print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('\n用集......
  • 山东大学数据结构实验六
    计算表达式tips:不要全文复制,会被查重哦注意因为精度问题,请使用double存数据。要求创建栈类,采用数组描述;计算数学表达式的值。输入数学表达式,输出表达式的计算结果。数学表达式由单个数字和运算符+、-、*、/、(、)构成,例如2+3*(4+5)-6/4。假定表达式输入格式合法。格式......
  • 山东大学数据结构实验一(2)
    题目描述现有一个有n个元素的序列\(a=[a_{1},a_{2},\cdots,a_{n}]\),定义其价值为\(\sum_{i=1}^{n}a_{i}\oplusi\)给出这样一个序列,求其所有排列的价值\(v_{i}\)的或\(v_{1}|v_{2}|\cdots|v_{n-1}|v_{n}\)其中\(|\)为位运算或操作,\(\oplus\)为位运算异......
  • 山东大学数据结构实验一(1)
    题目描述现有一个有\(n\)个元素的序列\(a=[a_1,a_2,\cdots,a_n]\),定义这个序列的价值为\(\sum_{i=1}^{n}i\timesa_i\)。空序列的价值为\(0\)。先给你一个长度为\(n\)的序列\(a\),求\(a\)中所有子集价值的异或和,要求子集中元素的相对位置保持不变。异或和:位运算的一种。如果a......
  • 实验三
    任务一实验源码运行结果截图任务二实验源码1lst=[55,92,88,79,96]23i=04whilei<len(lst):5print(lst[i],end='')6i+=17print()89foriinrange(len(lst)):10print(lst[i],end='')11print()1213forii......
  • 实验3 控制语句与组合数据类型应用编程
    实验任务1实验源码1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('......
  • 实验3
    1.实验任务1task1.py实验代码:importrandomprint('用列表储存随机整数:')lst=[random.randint(0,100)foriinrange(5)]print(lst)print('\n用集合储存随机整数:')s1={random.randint(0,100)foriinrange(5)}print(s1)print('\n用集合储存随机整数:')s......
  • 实验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(......
  • 实验三
    实验任务一:实验源码:1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('\......