首页 > 编程语言 >实验3 控制语句与组合数据类型应用编程

实验3 控制语句与组合数据类型应用编程

时间:2023-04-25 23:56:17浏览次数:30  
标签:语句 count pro 编程 数据类型 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)
#问题1: random.randint(0,100) 生成的随机整数范围是?能否取到100?
#0-100,能
#问题2:利用 list(range(5)) 生成的有序序列范围是?是否包括5?')
#0-4,不包括
#问题3:使用line8代码生成的集合s1,len(s1)一定是5吗?如果不是,请解释原因。
#不一定
#问题4:使用line12-14生成的集合s2,len(s2)一定是5吗?如果不是,请解释原因。
#一定

运行结果

任务二

2.1

# 列表遍历
lst = [55, 92, 88, 79, 96]
# 遍历方式1
i = 0
while i < len(lst):
    print(lst[i], end=" ")
    i += 1
print()
# 遍历方式2
for i in range(len(lst)):
    print(lst[i],end=" ")
print()
# 遍历方式3
for i in lst:
    print(i,end=" ")
print()

运行结果:

2.2

book_info = {'isbn': '978-7-5356-8297-0',
             '书名': '白鲸记',
             '作者': '克里斯多夫.夏布特',
             '译者': '高文婧',
             '出版社': '湖南美术出版社',
             '售价': 82 }
#遍历key-value对
#实现方式1
for key, value in book_info.items():
    print(f'{key}: {value}')
print()
#实现方式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 =" ")

运行结果:

2.3

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

运行结果:

 

任务三

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!
'''
x = text.lower()
D = {}
for i in range(97,123):
    D[x.count(chr(i))] = chr(i)
y = sorted(D, reverse = True)
for i in y:
    print(f'{D[i]}:{i}')

运行结果:

任务四

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

运行结果:

任务五

import random
lucky_day=random.randint(1,31)
print('猜猜2023年5月哪一天会是你的lucky day╰(*°▽*)╯')
day = eval(input('你有三次机会,猜吧(1~31):'))
i=0
while i < 2:
    if day in range(1,31):
        if day > lucky_day:
            print('猜晚了,你的lucky day 已经过去啦')
            day = eval(input('再猜:(1~31):'))
            i+=1
        if day < lucky_day:
            print('猜早了,你的lucky day 还没到呢!')
            day = eval(input('再猜:(1~31):'))
            i+=1
        if day == lucky_day:
            print('哇猜中了╰(*°▽*)╯')
            i=3
    else:
        print('地球上没有这一天,你是外星人吗?')
        day = eval(input('再猜(1~31):'))
        i+=1


if day != lucky_day:
    print('哇哦次数用光了')
    print(f'偷偷告诉你,你的lucky day 是{lucky_day}号。GOOD LUCK!')

运行结果:

任务六

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']
}
lst=[]
for value in datas.values():
    for i in value:
        lst.append(i)
hobby={}
for x in lst:
    if x not in hobby:
        hobby[x]=1
    else:
        hobby[x]+=1
h1=list(zip(hobby.values(),hobby.keys()))
h2=sorted(h1,reverse=True)
for i in h2:
    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,products,print,id
From: https://www.cnblogs.com/e2718281/p/17354384.html

相关文章

  • 编程一小时2023.4.25
    1.#include<bits/stdc++.h>usingnamespacestd;classnumber{intfz,fm;friendnumberoperator+(number&n1,number&n2);public:number(inta=0,intb=1){fz=a;fm=b;}friendintgcd(inta,intb);friendintmin_gb(number&n1......
  • 控制语句与组合数据类型应用
    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 控制语句与组合数据类型应用编程
    实验任务11importrandom2print('用列表存储随机整数:')3lst=[random.randint(0,100)foriinrange(5)]4print(lst)5print('\n用集合存储随机整数:')6s1={random.randint(0,100)foriinrange(5)}7print(s1)8print('\n用集合存储随机整数:......
  • shell编程总结
    一,执行shell程序文件有三种方法(1)#shfile(2)#.file(3)#sourcefileshell常用的系统变量$#:保存程序命令行参数的数目$?:保存前一个命令的返回码$0:保存程序名$*:以("$1$2...")的形式保存所有输入的命令行参数$@:......
  • 流程控制语句 ——if语句
    一if(关系表达式){语句体;}流程:首先计算关系表达式的值如果关系表达式的值为true就执行语句体如果关系表达式的值为false则执行继续执行后面其他语句 二if(关系表达式){语句体1;}else{语句体2;}流程:计算关系式的值如果关系式的值为true执行语......
  • 数据类型_字符串
    一个字符串类型键允许存储的数据的最大容量是512MB,不知道现在限制放宽了没有1、赋值、取值可以存储任何形式的字符串set、get是redis中最简单的两个命令  2、递增数字   ......
  • Rust编程语言入门之最后的项目:多线程 Web 服务器
    最后的项目:多线程Web服务器构建多线程Web服务器在socket上监听TCP连接解析少量的HTTP请求创建一个合适的HTTP响应使用线程池改进服务器的吞吐量优雅的停机和清理注意:并不是最佳实践创建项目~/rust➜cargonewhelloCreatedbinary(application)`......
  • 实验3 控制语句与组合数据类型应用编程
    task1程序源码:1importrandom23print('用列表储存随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('\......
  • 实验3 控制语句与组合数据类型应用编程
    task1.pyimportrandomprint('用列表存储随机整数:')lst=[random.randint(0,100)foriinrange(5)]print(lst)print('\n用集合存储随机整数:')s1={random.randint(0,100)foriinrange(5)}print(s1)print('\n用集合存储随机整数:')s2=set()whi......
  • Java 编程问题:三、使用日期和时间
    本章包括20个涉及日期和时间的问题。这些问题通过Date、Calendar、LocalDate、LocalTime、LocalDateTime、ZoneDateTime、OffsetDateTime、OffsetTime、Instant等涵盖了广泛的主题(转换、格式化、加减、定义时段/持续时间、计算等)。到本章结束时,您将在确定日期和时间方面没有问题,......