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

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

时间:2023-04-23 22:47:48浏览次数:39  
标签:语句 count format 编程 数据类型 cart products print id

task1

问题1:可以取到100

问题2:范围:0、1、2、3、4,不能取到5;范围:1、2、3、4,不能取到5

问题3:一定是5

问题4:一定是5

task2-3

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

 

 

task3

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()
y = x.split()
i = 0
z = []
while i < len(y):
    z += list(y[i])
    i += 1
q = 0
while q < 27:
    k = chr(97+q)
    q += 1
    a = {}
    for k in z:
        a[k] = a.get(k,0) + 1
    print(a)

task4

title1 = '专业代号信息'
print(title1.center(50,'-'))
lst = {8326:'地信类',8329:'计算机类',8330:'气科类',8336:'防灾工程',8345:'海洋科学',8382:'气象工程'}
for key,value in lst.items():
    print(f'{key}:{value}')
title2 = '学生专业查询'
print(title2.center(50,'-'))
t = 0
while t == 0:
    xuehao = input('请输入学号:')
    if xuehao == '#':
        t = 1
        print('查询结束...')
    else:
        a = list(xuehao)
        b = ''.join([a[4],a[5],a[6],a[7]])
        c= list(lst.keys())
        if int(b) in c:
            print(lst[int(b)])
        else:
            print('不在这些专业中...D')

task5

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

task6

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
'2049777002': ['音乐', '旅行'],
'2049777003': ['马拉松', '健身', '游戏'],
'2049777004': [],
'2049777005': ['足球', '阅读'],
'2049777006': ['发呆', '闲逛'],
'2049777007': [],
'2049777008': ['书法', '电影'],
'2049777009': ['音乐', '阅读', '电影', '漫画'],
'2049777010': ['数学', '推理', '音乐', '旅行']}
a = []
for value in datas.values():
    a += value
b = list(set(a))
c = {}
for i in b:
    c[i] = a.count(i)
d = list(c.items())
for i in range(len(d)-1):
    for j in range(len(d)-1-i):
        if d[j][1] < d[j+1][1]:
            d[j],d[j+1] = d[j+1],d[j]
e = dict(d)
for key,value in e.items():
    print(f'{key}:{value}')

 task7-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.50,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('{:*^48}'.format('*'))
        print('{:10}'.format('编号'), '{:10}'.format('名称'), '{:10}'.format('品牌'), '{:10}'.format('价格'), '{:10}'.format('库存数量'))
        print('{:-^50}'.format('-'))
        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('{:-^50}'.format('-'))
    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('{:*^48}'.format('*'))
        print('{:10}'.format('编号'), '{:10}'.format('购买数量'))
        print('{:-^50}'.format('-'))
        for i in range(len(products_cart)):
            print('{:10}'.format(products_cart[i][0]), '{:6}'.format(products_cart[i][1]))
        print('{:-^50}'.format('-'))
    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('谢谢您的光临,下次再见!')

task7-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.50,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('{:*^48}'.format('*'))
        print('{:10}'.format('编号'), '{:10}'.format('名称'), '{:10}'.format('品牌'), '{:10}'.format('价格'), '{:10}'.format('库存数量'))
        print('{:-^50}'.format('-'))
        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('{:-^50}'.format('-'))
    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('{:*^48}'.format('*'))
        print('{:10}'.format('编号'), '{:10}'.format('购买数量'))
        print('{:-^50}'.format('-'))
        for i in range(len(products_cart)):
            print('{:10}'.format(products_cart[i][0]), '{:6}'.format(products_cart[i][1]))
        print('{:-^50}'.format('-'))
    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('谢谢您的光临,下次再见!')

task8-1

 

'''
家用电器销售系统
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(f'{"":*>48s}')
        print(f'{"编号":10s}{"名称":10s}{"品牌":10s}{"价格":10s}{"库存数量":10s}')
        print(f'{"":->50s}')
        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']))
        print(f'{"":->50s}')
    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(f'{"":*>48s}')
        print(f'{"编号":10s}{"购买数量":10s}')
        print(f'{"":->50s}')
        for i in range(len(products_cart)):
            print('{:10}'.format(products_cart[i]['id']),'{:6}'.format(products_cart[i]['count']))
        print(f'{"":->50s}')
    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('谢谢您的光临,下次再见!')

task8-2

'''
家用电器销售系统
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(f'{"":*>48s}')
        print(f'{"编号":10s}{"名称":10s}{"品牌":10s}{"价格":10s}{"库存数量":10s}')
        print(f'{"":->50s}')
        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']))
        print(f'{"":->50s}')
    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(f'{"":*>48s}')
        print(f'{"编号":10s}{"购买数量":10s}')
        print(f'{"":->50s}')
        for i in range(len(products_cart)):
            print('{:10}'.format(products_cart[i]['id']),'{:6}'.format(products_cart[i]['count']))
        print(f'{"":->50s}')
    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('谢谢您的光临,下次再见!')

 

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

相关文章

  • 2022.4.23编程一小时打卡
    一、问题描述:定义一个基类,派生出子类,基类有fn1(),fn2(),fn1()是虚函数;子类也有这俩个函数,在主函数中声明子类的一个对象,并通过指针调用这俩个函数。观察程序运行过程。二、解题思路:首先,定义一个基类BaseClass类,其派生出子类DerivedClass类,在主函数中定义基类的指针,调用这俩个函......
  • 实验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,4,10,13,33,42,46,63,76,78,95,96,120}中查找一个给定的数。 二.设计思路1.定义一个数组a存入上面的数,按从小到大排序2.输入一个数n3.设计一个函数f(a,0,13,n),取中间值mid=1+13/2,比较a[mid]和n的大小,若right-left>1&&a[mid]!=x,有......
  • 编程一小时2023.4.23
    1.#include<bits/stdc++.h>usingnamespacestd;stringa,s;intb[1005],t,c[1005];voiddivision(){for(inti=t-1;i>=0;i--){if(b[i]%2)b[i-1]+=10;b[i]/=2;}while(b[t-1]==0)t-......
  • 编程打卡:给网页做个花里胡哨个格子纹理背景吧。
    编程打卡:给网页做个花里胡哨个格子纹理背景吧。嗯看到Github上面有一个项目,格裙纹理生成器稍微玩了一会儿,感觉这样的纹理或许可以用来做网页的背景,就这样做了。这个项目生成的图片,感觉太精细了,,稍微一个SVG,就有好几MB大,虽然确实惊喜,里面的纹理,用来做裙子什么的说不定真的可以,但......
  • 编程计划
    大二在读......
  • 并发编程(1)-线程与锁
    1.什么是线程?线程的状态与进程的状态非常相似,但线程是在进程内运行的轻量级实体。线程与进程的主要区别是线程共享相同的地址空间,而进程具有独立的地址空间。这意味着在进程中运行的每个线程都可以访问相同的变量和数据结构,而在不同进程中运行的线程则不能访问彼此的变量和数据......
  • java 编程 习惯
    (1)类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:ThisIsAClassNamethisIsMethodOrFieldName若在定义中出现了常数初始化字符,则大写staticfinal基本类型......
  • 实验三 控制语句与组合数据类型应用编程
    task1源代码1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('......
  • python + informix+基本语句
    importjaydebeapiimportosimportloggingimporttimeclassPostgre_Person:def__init__(self):#打开数据库连接foriinrange(10):try:url=###user=###password=##......