首页 > 其他分享 >实验3

实验3

时间:2023-04-25 19:55:43浏览次数:34  
标签: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:1~5  包括5

问题3:1~4 不包括5

问题4:不一定是5,集合中不能出现相同元素

问题5:一定是5

实验2.1:

源码:

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()

运行截图:

实验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:

源码:

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

for k in range(len(ls)):
    if k%2 == 0 :
        print("%.0f"%int(k/2+1),',' + '《' + ls[k] + '》', ls[k + 1])

运行截图:

 实验3:

源码:

ls='''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!
'''
ls=ls.lower()
dic={}
for i in range(26):
    dic.setdefault(chr(i+97),ls.count(chr(i+97)))
list1=sorted(dic.items())
m=[]
for i in list1:
    m.append(list(i))
for i in range(len(m)):
    m[i][1],m[i][0]=m[i][0],m[i][1]
list2=sorted(m)[::-1]
for i in range(len(list2)):
    print(list2[i][1],':',list2[i][0],'\n',end='')

运行截图:

实验4:

源码:

code_majors={8326:'地信类',8329:'计算机类',8330:'气科类',8336:'防灾工程',8345:'海洋科学',8382:'气象工程'}
print('-------专业代号信息-------')
for i in code_majors:
    print(i,':',code_majors[i])
print('-------学生专业查询-------')
while True:
    j=0
    n=input('请输入学号:')
    if n=='#':
         print('查询结束')
         break
    else:
         j=0
         for i in code_majors:
             if n[4:8]==str(i):
                 print('专业是:',code_majors[i])
                 j+=1
         if j==0:
            print('不在这些专业中...')

运行结果:

实验5:

源码:

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

运行结果:

实验6:

源码:

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']
}
lst = []
count = dict()
for key in datas.keys():
    for t in datas[key]:
        count[t] = 0
for key in datas.keys():
    for t in datas[key]:
        count[t] +=1
count = sorted(count.items(),key=lambda x:x[1],reverse = True)
for key, value in dict(count).items():
     print(f'{key}: {value}')

运行截图:

实验7.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('**********************************************************')
      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],'%-10s'%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('谢谢您的光临,下次再见!')

运行截图:

实验7.2:

源码:

"""
家用电器销售系统
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('{:<10} {:<10} {:<10} {:<10} {:<10}'.format('编号','名称','品牌','价格','库存数量'))
      print('----------------------------------------------------------')
      for i in range(len(products)):
        print('{:<10}'.format(products[i][0]),'{:<10}'.format(products[i][1]),'{:<10}'.format(products[i][2]),'{:<10.2f}'.format(products[i][3]),'{:>10}'.format(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('{:<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)):
  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('谢谢您的光临,下次再见!')

运行截图:

实验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元' % amount)
print('谢谢您的光临,下次再见!')

运行截图:

 

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

相关文章

  • 实验三
    实验任务一:实验源码:1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('\......
  • 实验三
    task1源代码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(......
  • 实验3 控制语句与组合数据类型应用编程
    一.实验目的:1.知道Python中组合数据类型字符串(str)、列表(list)、元组(tuple)、集合(set)、字典的表示、特性2.能够正确、熟练使用字符串(str)、列表(list)、元组(tuple)、集合(set)、字典的常用操作3.针对具体问题场景,能够灵活、组合使用多种数据类型,应用或设计算法,使用......
  • 实验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()whil......
  • linux操作系统分析实验五-深入理解进程切换
    Lab5:深入理解进程切换首先找到对应进程调度的代码文件Kernal/sched/core.c  找到context_switch()函数   其中包括rq,为进程的runningqueue;以及进程切换前后的进程描述符prev和next  首先调用一些函数做上下文切换的准备,与最后出现的finish_task_switch()成......
  • 实验3 控制语句和组合数据类型应用编程
    task1.py1importrandom2print('用列表存储随机整数:')3lst=[random.randint(0,100)foriinrange(5)]4print(lst)5print('\n用集合存储随机整数:')6s1={random.randint(0,100)foriinrange(5)}7print(s1)8print('\n用集合存储随机整数......
  • 实验三
    task1importrandomprint('用列表存储随机整数:')lst=[random.randint(0,100)foriinrange(5)]print(lst)print('\n用集合存储随机整数:')s1={random.randint(0,100)foriinrange(5)}print(s1)print('\n用集合存储随机整数:')s2=set()while......
  • 实验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()......
  • 实验3
    task1: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()while......
  • 实验3 控制语句与组合数据类型
    实验任务一task1.py实验源码:1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011prin......