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

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

时间:2023-04-22 17:02:30浏览次数:36  
标签:语句 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)

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

for char in text:

    if char.isalpha():

        if char in freq:

            freq[char] += 1

        else:

            freq[char] = 1

for char, count in sorted(freq.items(), key=lambda x: x[1], reverse=True):

    print(char, count)

code_majors = {'8326':'地信类',
               '8329':'计算机类',
               '8330':'气科类',
               '8336': '防灾工程',
               '8345':'海洋科学',
               '8382':'气象工程'
               }
print('专业代号信息'.center(50, '-'))

for code, major in code_majors.items():

    print(f"{code}: {major}")

print('学生专业查询'.center(50, '-'))


while True:
    student_id = input('请输入学生学号:')
    print(student_id[4:8])
    if student_id[4:8] in code_majors:
        print(f"该学生所在专业为:{code_majors[student_id[4:8]]}")
    elif student_id[4:8] not in code_majors:
        print("不在这些专业中")
    else:
        print('查询结束')
        break

import random
x0 = random.randint(1,31)
print('猜猜2023年5月哪一天会是你的lucky day:~')
x  = int(input('你有三次机会,猜吧(1-31):'))
if x == x0:
    print('哇,中了')
else:
    for i in range(2):
        if x > x0:
            print('猜晚了,你的lucky day 已经过啦')
            x  = int(input('再猜(1-31):'))
        elif x < x0:
            print('猜早了,你的lucky day还没到呢')
            x  = int(input('再猜(1-31):'))
        else:
            print('哇,猜中了~')
            break
    else:
        print('哇哦,次数用光了')
        print('偷偷告诉你,五月你的lucky day 是',x0,'号''good luck')

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

#欢迎信息
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('谢谢您的光临,下次再见!')

#欢迎信息
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(print('{:<10}'.format('编号'),'{:<10}'.format('名称'),'{:<10}'.format('品牌'),'{:<10}'.format('价格'),'{:<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}'.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}'.format('编号'),'{:<10}'.format('购买数量'))
        print('-------------------------------------')
        for i in range(len(products_cart)):
            print('{:<10}'.format(products_cart[i][0]),'{:<6}'.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('购买成功,您需要支付{:.2f}元'.format(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':580.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'],'%-10s'%products[i]['price'],'%-10s'%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('谢谢您的光临,下次再见!')

 

#欢迎信息
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(print('{:<10}'.format('编号'),'{:<10}'.format('名称'),'{:<10}'.format('品牌'),'{:<10}'.format('价格'),'{:<10}'.format('库存数量')))
        print('-------------------------------------------------')
        for i in range(len(products)):
            print('{:<10}'.format(products[i]['id']),'{:<10}'.format(products[i]['name']),'{:<10}'.format
            (products[i]['brand']),
            '{:<10}'.format(products[i]['price']),
            '{:<10}'.format(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('{:<10}'.format('编号'),'{:<10}'.format('购买数量'))
        print('-------------------------------------')
        for i in range(len(products_cart)):
            print('{:<10}'.format(products_cart[i]['id']),'{:<6}'.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)):
        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('购买成功,您需要支付{:.2f}元'.format(amount))

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

 

标签:语句,count,product,编程,数据类型,cart,products,print,id
From: https://www.cnblogs.com/cxb17/p/17332536.html

相关文章

  • 实验任务3 控制语句与组合数据类型应用编程
    实验任务11importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('\n......
  • 实验3 控制语句和组合数据类型应用编程
    一、实验结论:1、实验任务1:task1.py程序源码:1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9pr......
  • Rust编程语言入门之模式匹配
    模式匹配模式模式是Rust中的一种特殊语法,用于匹配复杂和简单类型的结构将模式与匹配表达式和其他构造结合使用,可以更好地控制程序的控制流模式由以下元素(的一些组合)组成:字面值解构的数组、enum、struct和tuple变量通配符占位符想要使用模式,需要将其与某个值进行比......
  • 简单学懂链式编程
    简单学懂链式编程一句话定义链式编程是一种编程风格,它允许在同一个对象上通过多个方法的调用链实现一系列操作,从而简化代码,提高可读性,和代码的可维护性。一个流程看懂创建对象->连续调用对象方法->返回对象本身->使用对象方法获取属性或执行其他操作。示例publicclas......
  • 实验3 控制语句与组合数据类型应用编程
    实验任务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用集合存储随机整数:')s2......
  • C语言和C++的switch语句用法
    C语言和C++的switch语句用法是相似的,但在一些细节上有所不同。在C语言中,switch语句的用法如下:switch(expression){  caseconstant1:    //dosomething    break;  caseconstant2:    //dosomething    break;  //...  ......
  • lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
    一、lua变量【全局变量和局部变量和表中的域】Lua变量有三种类型:全局变量和局部变量和表中的域。▪全局变量:默认情况下,Lua中所有的变量都是全局变量。▪局部变量:使用local显式声明在函数内的变量,以及函数的参数,都是局部变量。在函数外即使用local去声明,它的作用域也是当前的整......
  • C ++各个数据类型的输入输出
    C++中各个数据类型的输入输出主要使用iostream库和格式化输入输出函数printf、scanf等,下面是各个数据类型的输入输出方式:1.整型:使用cin和cout进行输入输出,或者使用scanf和printf进行输入输出。intn;cin>>n;cout<<n<<endl;scanf("%d",&n);printf("%d\n",n);2.浮点型:使......
  • 试验任务3 控制语句与组合数据类型应用编程
    1.试验任务11importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n拥集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('\n用集......
  • 04-目录---Linux编程
    第01章:Linux常用命令vim的使用:链接vimrc:链接shell命令行操作:链接hitory历史命令:链接安装较新vim:链接安装plug-vim:链接安装更新的cmake:链接安装更新的gcc:链接安装python3.8:链接第02章:Linux编译调试基础makefile:链接gdb调试:链接库的制作:链接第03章:标准IOfopen与fclos......