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

task1.py

 1 import random
 2 print('用列表存储随机整数: ')
 3 lst = [random.randint(0, 100) for i in range(5)]
 4 print(lst)
 5 print('\n用集合存储随机整数: ')
 6 s1 = {random.randint(0, 100) for i in range(5)}
 7 print(s1)
 8 print('\n用集合存储随机整数: ')
 9 s2 = set()
10 while len(s2) < 5:
11     s2.add(random.randint(0, 100))
12 print(s2)

运行结果:

 

task2.py

# 列表遍历
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()

运行结果:

 

task2-2.py

# 字典遍历
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 = ' ')

运行结果:

 task2_3.py

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

运行结果:

 

实验任务4

task4.py

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

while True:
    id = input('请输入学号:')
    if id=='#':
        print('查询结束...')
        break
    major = int(id[4:8])
    if major in code_majors.keys():
        print(f'专业是:{code_majors[major]}')
    else:
        print('不在这些专业中...')

运行结果:

 

实验任务5

task5.py

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

运行结果:

 

 

 实验任务6

task6.py

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
         '2049777002': ['音乐', '旅行'],
         '2049777003': ['马拉松', '健身', '游戏'],
         '2049777004': [],
         '2049777005': ['足球', '阅读'],
         '2049777006': ['发呆', '闲逛'],
         '2049777007': [],
         '2049777008': ['书法', '电影'],
         '2049777009': ['音乐', '阅读', '电影', '漫画'],
         '2049777010': ['数学', '推理', '音乐', '旅行']
        }
list = list(datas.values())
s=set()
list1=[]
list2=[]
for i in list:
    for j in i:
        list1.append(j)
        s.add(j)
        list2.append(str(list1).count(j))
x=dict(zip(list1,list2))
x1=[(v,k) for k,v in x.items()]
x2=sorted(x1,reverse=True)
for n in x2:
    print(f'{n[1]}:{n[0]}')

运行结果:

 实验任务7

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

运行结果:

 实验任务8

#欢迎信息
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'],
            (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('购买成功,您需要支付{:.2f}元'.format(amount))

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

运行结果:

 task8-2.py

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

运行结果:

 

posted @ 2023-04-25 16:29  魅力哥  阅读(22)  评论(0)    收藏  举报