首页 > 其他分享 >实验3

实验3

时间:2023-04-23 15:13:02浏览次数:33  
标签:count pro cart 实验 print products id

实验任务1

程序源码:

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)

测试截图:

问题1:范围是0—100,可以取到100

问题2:范围是0到4,不能取到5

            范围是1到4,不能取到5

问题3:不一定是5,line8是集合,集合中不能有两个相同元素,若随机生成的5个数字中有任意两个相同,那么集合中元素个数就会少于5个,即len(s1)可能会小于5 

问题4:一定是5,line12到14运用了while循环,需要s2中元素个数大于等于5才能跳出循环,因此最后得到的s2一定包含5个元素,即len(s2)等于5

 

实验任务2(1)

程序源码:

1 # 列表遍历
 2 lst = [55, 92, 88, 79, 96]
 3 
 4 # 遍历方式1: 使用while + 索引
 5 i = 0
 6 while i < len(lst):
 7     print(lst[i], end = ' ')
 8     i += 1
 9     
10 print()
11 # 遍历方式2:使用for + 索引
12 for i in range(len(lst)):
13     print(lst[i], end = ' ')
14 print()
15 
16 # 遍历方式3: 使用for...in
17 for i in lst:
18     print(i , end = ' ')
19 print()

 

测试截图:

实验任务2(2)

程序源码:

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 = ' ')

 

测试截图:

实验任务2(3)

程序源码:

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

 

测试截图:

 

实验任务3:

程序源码:

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.lower()
x=list('abcdefghijklmnopqrstuvwxyz')
d=dict.fromkeys(x,0)
for i in text.lower():
    for key in d.keys():
        if i == key:
            d[key]+=1
for key,value in d.items():
    print(f'{key}:{value}')

 

测试截图:

 

实验任务4:

程序源码:

print('-'*22,'专业代码信息','-'*22)
code_majors = {'8326':'地信类','8329':'计算机类','8330':'气科类','8336':'防灾工程','8345':'海洋科学','8382':'气象工程'}
for key,value in code_majors.items():
    print(f'{key}:{value}')
print('-'*22,'学生专业查询','-'*22)
while True:
    numbers = input('请输入学号:')
    if numbers == '#':
        print('查询结束')
        break
    keys = list(code_majors.keys())
    if numbers[4:8] in keys:
        print(f'专业是:{code_majors[numbers[4:8]]}')
    else:print('不在这些专业里')

 

测试截图:

 

实验任务5

程序源码:

import random
print('猜猜2023年5月哪一天会是你的lucky day','\U0001F642')
x=random.randint(1,31)
date=int(input('你有三次机会,猜吧(1~31):'))
count=1
if date==x:
    print('哇,猜中了','\U0001F600')
else:
    while count<3:
        count+=1
        if not(1<=date<=31):
            print('地球上没有这一天啦,你是外星人吗')
            date=int(input('再猜(1~31):'))
        elif date<x:
            print('猜早了,你的luchy day还没到呢')
            date=int(input('再猜(1~31):'))
        elif date>x:
            print('猜晚了,你的lucky day已经过了')
            date=int(input('再猜(1~31):'))
        else:
            print('哇,猜中了','\U0001F929')
            count +=1
            break
if count==3 and x !=date:
    print('哇哦,次数用光了')
    print(f'偷偷告诉你,5月你的lucky day是{x}号.good luck\U0001F60A')
elif count==3 and x ==date:
    print('哇,猜中了','\U0001F923')

 

测试截图:

 

实验任务6

程序源码:

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']
}
ls=[]
for value in datas.values():
    for i in value:
        ls.append(i)
hobby={}
for h in ls:
    if h not in hobby:
        hobby[h]=1
    else:
        hobby[h]+=1
hobby1=list(zip(hobby.values(),hobby.keys()))
hs0 = sorted(hobby1,reverse=True)
for i in hs0:
    print(f'{i[1]}:{i[0]}')

 

测试截图:

 

实验任务7(1)

程序源码:

print('欢迎使用家用电器销售系统!')
pro=[['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(pro)):
            print('%-10s'%pro[i][0],'%-10s'%pro[i][1],'%-10s'%pro[i][2],'%10.2f'%pro[i][3],'%10d'%pro[i][4])

        print('-----------------------------------------------------------')
    elif option=='2':
        pro_id=input('请输入您要购买的产品编号:')
        while pro_id not in [item[0]for item in pro]:
            pro_id=input('编号不存在,请重新输入您要购买的产品编号:')
        count=int(input('请输入您要购买的产品数量:'))
        while count > pro[int(pro_id)-1][4]:
            count=input('数量超出库存。请重新输入您要购买的产品数量:')
        if pro_id not in [item[0] for item in products_cart]:
            products_cart.append([pro_id,count])
        else:
            for i in range(len(products_cart)):
                if products_cart[i][0]==pro_id:
                    products_cart[i][1]+=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)):
        pro_index=0
        for j in range(len(pro)):
            if pro[j][0]==products_cart[i][0]:
                pro_index=j
                break
        price=pro[pro_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.9
    elif 20000 < amount :
        amount = amount * 0.85
    else:
        amount=amount*1
    print('购买成功,您需要支付%8.2f元'%amount)
print('谢谢您的光临,下次再见!')

 

测试截图:

实验任务7(2)

程序源码:

print('欢迎使用家用电器销售系统!')
pro=[['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('{:<10} {:<10} {:<10} {:<10} {:<10}'.format('编号','名称','品牌','价格','库存数量'))
        print('-----------------------------------------------------------')
        for i in range(len(pro)):
            print('{:<10}'.format(pro[i][0]), '{:<10}'.format(pro[i][1]), '{:<10}'.format(pro[i][2]),
                  '{:<10.2f}'.format(pro[i][3]),
                  '{:>10}'.format(pro[i][4]))

        print('-----------------------------------------------------------')
    elif option=='2':
        pro_id=input('请输入您要购买的产品编号:')
        while pro_id not in [item[0]for item in pro]:
            pro_id=input('编号不存在,请重新输入您要购买的产品编号:')
        count=int(input('请输入您要购买的产品数量:'))
        while count > pro[int(pro_id)-1][4]:
            count=input('数量超出库存。请重新输入您要购买的产品数量:')
        if pro_id not in [item[0] for item in products_cart]:
            products_cart.append([pro_id,count])
        else:
            for i in range(len(products_cart)):
                if products_cart[i][0]==pro_id:
                    products_cart[i][1]+=count
    else:
        print('购物车信息如下:')
        print('************************************')
        print('{:<10} {:<10} '.format('编号','购买数量'))
        print('------------------------------------')
        for i in range(len(products_cart)):
            print('{:10s}'.format(products_cart[i][0]),'{:6d}'.format(products_cart[i][1]))
        print('------------------------------------')
    option=input('操作成功!请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账。')
if len(products_cart)>0:
    amount=0
    for i in range(len(products_cart)):
        pro_index=0
        for j in range(len(pro)):
            if pro[j][0]==products_cart[i][0]:
                pro_index=j
                break
        price=pro[pro_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.9
    elif 20000 < amount :
        amount = amount * 0.85
    else:
        amount=amount*1
    print('购买成功您需要支付{:8.2f}元'.format(amount))
print('谢谢您的光临,下次再见!')

 

测试截图:

 

实验任务8(1)

程序源码:

print('欢迎使用家用电器销售系统!')
pro=[{'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(pro)):
            print('%-10s'%pro[i]['id'],'%-10s'%pro[i]['name'],'%-10s'%pro[i]['brand'],'%10.2f'%pro[i]['price'],'%10d'%pro[i]['count'])
        print('-----------------------------------------------------------')
    elif option == '2':
        pro_id = input('请输入您要购买的产品编号:')
        while pro_id not in [item['id'] for item in pro]:
            pro_id = input('编号不存在,请重新输入您要购买的产品编号:')
        count=int(input('请输入您要购买的产品数量:'))
        while count > pro[int(pro_id)-1]['count']:
            count=input('数量超出库存。请重新输入您要购买的产品数量:')
        if pro_id not in [item['id'] for item in products_cart]:
            products_cart.append({'id':pro_id,'count':count})
        else:
            for i in range(len(products_cart)):
                if products_cart[i].get('id')==pro_id:
                    products_cart[i]['count']+=count

        for i in range(len(pro)) :
            if pro[i]['id']==pro_id:
                pro[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)):
        pro_index=0
        for j in range(len(pro)):
            if pro[j]['id']==products_cart[i]['id']:
                pro_index=j
                break
        price=pro[pro_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.9
    elif 20000 < amount:
        amount = amount * 0.85
    else:
        amount = amount * 1
    print('购买成功,您需要支付%8.2f元' % amount)
print('谢谢您的光临,下次再见!')

 

测试截图:

 

实验任务8(2)

程序源码:

print('欢迎使用家用电器销售系统!')
pro=[{'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('{:<10} {:<10} {:<10} {:<10} {:<10}'.format('编号','名称','品牌','价格','库存数量'))
        print('-----------------------------------------------------------')
        for i in range(len(pro)):
            print('{:<10}'.format(pro[i]['id']), '{:<10}'.format(pro[i]['name']), '{:<10}'.format(pro[i]['brand']),
                  '{:<10.2f}'.format(pro[i]['price']),
                  '{:>10}'.format(pro[i]['count']))
        print('-----------------------------------------------------------')
    elif option == '2':
        pro_id = input('请输入您要购买的产品编号:')
        while pro_id not in [item['id'] for item in pro]:
            pro_id = input('编号不存在,请重新输入您要购买的产品编号:')
        count=int(input('请输入您要购买的产品数量:'))
        while count > pro[int(pro_id)-1]['count']:
            count=input('数量超出库存。请重新输入您要购买的产品数量:')
        if pro_id not in [item['id'] for item in products_cart]:
            products_cart.append({'id':pro_id,'count':count})
        else:
            for i in range(len(products_cart)):
                if products_cart[i].get('id')==pro_id:
                    products_cart[i]['count']+=count

        for i in range(len(pro)) :
            if pro[i]['id']==pro_id:
                pro[i]['count']-=count
    else:
        print('购物车信息如下:')
        print('************************************')
        print('{:<10} {:<10} '.format('编号','购买数量'))
        print('------------------------------------')
        for i in range(len(products_cart)):
            print('{:10s}'.format(products_cart[i]['id']),'{:6d}'.format(products_cart[i]['count']))
        print('------------------------------------')
    option = input('操作成功!请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账。')
if len(products_cart)>0:
    amount=0
    for i in range(len(products_cart)):
        pro_index=0
        for j in range(len(pro)):
            if pro[j]['id']==products_cart[i]['id']:
                pro_index=j
                break
        price=pro[pro_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.9
    elif 20000 < amount:
        amount = amount * 0.85
    else:
        amount = amount * 1
    print('购买成功您需要支付{:8.2f}元'.format(amount))
print('谢谢您的光临,下次再见!')

 

测试截图:

 

标签:count,pro,cart,实验,print,products,id
From: https://www.cnblogs.com/qwertasd123/p/17346596.html

相关文章

  • 实验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()......
  • 实验1:软件项目管理中的进度管理与资源管理
    实验1:软件项目管理中的进度管理与资源管理通过本次实验,学生将掌握以下内容:1、掌握Project2010中甘特图显示项目进度。2、掌握Project2010中的关键路径法,得到项目的关键路径与关键活动。3、掌握Project2010中资源的创建与分配资源。 [实验任务一]:Project2010中的项目......
  • 实验一题目
    实验一数据库和表的建立、数据操作一、实验目的:掌握使用SQL语言进行数据定义和数据操纵的方法。二、实验要求:建立一个数据库stumanage,建立三个关系表student,course,sc。向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。三、实验步骤:1、开始......
  • 实验报告
    数据库建模与查询设计1.概念模型设计及逻辑模型设计描述根据给定的应用需求和ER图参考,给出最终的ER图,并根据ER图进行逻辑模型转化,给出关系模式集合。ER图:手工逻辑模型转换:2.数据建模工具的模型设计过程描述使用工具powerdesiger根据实验附件步骤选择实体框以及关......
  • 数据库应用实验一实验报告
    目录实验报告课程:数据库应用班级:2012姓名:郭幸坤学号:20201213实验名称:实验一实验日期:2023.4.15概念模型设计及逻辑模型设计描述ER图关系模式集合数据建模工具的模型设计过程描述物理模型逻辑模型概念模型数据库创建过程描述建立数据库表列表数据库查询设计与实现描述数据库内容......
  • 实验三 控制语句与组合数据类型应用编程
    实验任务1源代码1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('\n用集合存......
  • 实验3 控制语句与组合数据类型应用编程
    实验任务1task1.py1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print(......
  • 实验三 控制语句与组合数据类型应用编程
    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()whilelen(s2)......
  • 实验任务3 控制语句与组合数据类型应用编程
    实验任务11importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('\n......
  • 实验三
    task1问题1:[0,100],可以取到问题2:{0,1,2,3,4},不包括:{1,2,3,4},不包括问题3:不一定是,集合中不存在重复元素,元素个数在5以内,具体个数不一定问题4:一定task2-1#列表遍历lst=[55,92,88,79,96]#遍历方式1:使用while+索引i=0whilei<len(lst):print(lst[i],......