task1.py

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) 生成的随机整数范围是0到100(包括0和100)。

问题2: 利用 list(range(5)) 生成的有序序列范围是0到4(包括0,但不包括5)。
利用list(range(1,5))生成的有序序列范围是1到4(包括1,但不包括5)。

问题3: 使用line8代码生成的集合s1,len(s1)不一定是5。由于集合的特性,集合中的元素不允许重复,因此在生成集合时,如果生成的随机数中有重复的,则实际上只会有少于5个元素的集合。

问题4: 使用line12-14生成的集合s2,len(s2)不一定是5。由于集合的特性,集合中的元素不允许重复,因此在生成集合时,如果生成的随机数中有重复的,则实际上只会有少于5个元素的集合。由于集合的无序性,也不能保证生成的集合中的元素顺序是按照生成顺序排列的。

 

task2_1.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 = [{'书名': '昨日的世界', '作者': '斯蒂芬.茨威格'}, 
              {'书名': '局外人', '作者': '阿尔贝.加缪'},
              {'书名': '设计中的设计', '作者': '原研哉'}, 
              {'书名': '万历十五年', '作者': '黄仁宇'},
              {'书名': '刀锋', '作者': '毛姆'}
             ]

for i, book_info in enumerate(book_infos):
    title = book_info['书名']
    author = book_info['作者']
    print(f"{i+1}.《{title}》,{author}")

task3.py

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."""

text = text.lower() # 转换为小写字母形式

freq_dict = {} # 创建一个空字典来存储字母出现的频率

for char in text:
    if char.isalpha():
        if char in freq_dict:
            freq_dict[char] += 1
        else:
            freq_dict[char] = 1

# 使用sorted()函数和lambda表达式将freq_dict按照值进行排序,从而实现降序输出
for char, freq in sorted(freq_dict.items(), key=lambda x: x[1], reverse=True):
    print(f"{char}: {freq}")

 task4.py

# 创建字典code_majors
code_majors = {
    '8326': '地信类',
    '8329': '计算机类',
    '8330': '气科类',
    '8336': '防灾工程',
    '8345': '海洋科学',
    '8382': '气象工程'
}

# 打印专业代号信息标题行
print('{:-^50}'.format('专业代号信息'))

# 遍历字典code_majors输出专业代号和专业名称
for code, major in code_majors.items():
    print('{:<10}:{:>10}'.format(code, major))

# 打印学生专业查询标题行
print('{:-^50}'.format('学生专业查询'))

while True:
    # 从键盘输入学生学号
    stu_id = input('请输入学号:')

    # 判断输入是否为#,如果是则结束循环
    if stu_id == '#':
        print('查询结束...')
        break

    # 获取专业代码
    code = stu_id[4:8]

    # 判断专业代码是否在字典中
    if code in code_majors:
        major = code_majors[code]
        print('专业是:{}'.format(major))
    else:
        print('不在这些专业中...')

task5.py

import random

lucky_day = random.randint(1, 31)
print("猜猜2023年5月哪一天会是你的lucky day😉")
print("你有三次机会,猜吧(1~31):")

for i in range(3):
    guess = int(input())
    if guess == lucky_day:
        print("哇,猜中了🤣")
        break
    elif guess > 31 or guess < 1:
        print("地球上没有这一天啦,你是外星人吗"
              " 再猜(1~31):")
    elif guess > lucky_day:
        print("猜晚啦,你的lucky day已经过去了"
              " 再猜(1~31):")
    else:
        print("猜早啦,你的lucky day还没到呢"
              " 再猜(1~31):")

if guess != lucky_day:
    print("哇哦,次数用光啦.")
    print(f"偷偷告诉你,5月你的lucky day是{lucky_day}号. Good luck😊")

task6.py

datas = {'2049777001': ['篮球', '羽毛球', '美食', '漫画'],
         '2049777002': ['音乐', '旅行'],
         '2049777003': ['马拉松', '健身', '游戏'],
         '2049777004': [],
         '2049777005': ['足球', '阅读'],
         '2049777006': ['发呆', '闲逛'],
         '2049777007': [],
         '2049777008': ['书法', '电影'],
         '2049777009': ['音乐', '阅读', '电影', '漫画'],
         '2049777010': ['数学', '推理', '音乐', '旅行']}

# 清洗数据,去掉空列表
datas = {k: v for k, v in datas.items() if v}

# 统计所有兴趣爱好的出现次数
interest_counts = {}
for interests in datas.values():
    for interest in interests:
        interest_counts[interest] = interest_counts.get(interest, 0) + 1

# 按照出现次数由高到低排列
sorted_interest_counts = sorted(interest_counts.items(), key=lambda x: x[1], reverse=True)

# 打印结果
for interest, count in sorted_interest_counts:
    print(interest + ':', count)

task7_1.py

"""
家用电器销售系统
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], '%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('谢谢您的光临,下次再见!')

 task7_2.py

# 商品数据初始化
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 = []

# 输出欢迎信息
print('欢迎使用家用电器销售系统!\n')

option = input('请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账\n')
while option in ['1', '2', '3']:
    if option == '1':
        # 产品信息列表
        print('产品和价格信息如下:')
        print('***************************************')
        print('{:<10}{:<10}{:<10}{:<10}{:<10}'.format('编号', '名称', '品牌', '价格', '库存数量'))
        print('---------------------------------------')
        for product in products:
            print('{:<10}{:<10}{:<10}{:>10.2f}{:>10d}'.format(*product))
        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 cart in products_cart:
            print('{:<10}{:>6d}'.format(*cart))
        print('---------------------------------')
    option = input('操作成功!请选择您的操作:1-查看商品;2-购物;3-查看购物车;其他-结账\n')
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.py

"""
家用电器销售系统
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': 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'],
                  '%-10s' %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('购买成功,您需要支付%8.2f元' %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 on 2023-04-26 19:57  张瀚予  阅读(8)  评论(0编辑  收藏  举报