python练习

'''
1.题
有如下值集合[11,22,33,44,55,66,77,88,99,90]
将所有大于66的值保存至字典的第一个key中,将小于66值保存至第二个key的值
'''
a = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
d = {}
l1 = []
l2 = []
for i in a:
    if i == 66:
        continue
    if i > 66:
        l1.append(i)
    elif i <= 66:
        l2.append(i)
d.setdefault('k1', l1)
d.setdefault('k2', l2)
print(d)
'''
2.题
输出商品列表,用户输入序号,显示用户选中的商品。
商品   li = ["手机", "电脑", "鼠标垫", "游艇" ]
a. 允许用户添加商品
b. 用户输入序号显示内容
'''
li = ["手机", "电脑", "鼠标垫", "游艇" ]
print(li)
a = str(input('请输入添加商品:'))
li.append(a)
print(li)

b=int(input('输入序号:'))
c=li[b-1]
print(c)
'''
3. 题
用户交互显示类似省市县N级联动的选择
a. 允许用户增加内容
b. 允许用户选择查看某一个级别内容
'''
dic = {
    "江西": {
        "萍乡": ["安源", "彭高", "上栗"],
        "新余": ["良山", "新钢", "兴安岭"],
    },
    "北京": {
        "大兴区": ["礼贤镇", "魏善庄镇", "北臧村镇"],
        "昌平区": ["沙河", "化庄", "白浮泉"],
    },
    "福建": {
        "莆田": ["荔城", "西天尾", "九化山"],
        "厦门": ["湖里", "思明", "海仓"],
    }
}
print("目前可查询的省份:江西、北京、福建")
province = input("请输入省份或者输入N新建: ")

if province == "N":
    new_province = input("请输入省份:")
    new_city = input("请输入城市:")
    new_town = input("请输入城镇信息:")
    dic[new_province] = {new_city: [new_town]}

while province not in dic:
    print("输入错误省份,请从新输入")
    province = input("请输入省份或者输入N新建: ")

while province in dic:
    new_menu = dic[province]
    for k in new_menu:
        print(k, end="\n")
    choice_city = input("请输入城市:")
    if choice_city not in new_menu:
        print("错误城市输入,请从新输入: ")
        continue
    else:
        new_menu2 = new_menu.get(choice_city)
        for i in new_menu2:
            print(i, end="\n")
        choice_town = input("请输入城镇信息:")
        if choice_town in new_menu2:
            print(
                "信息输入正确,省份:{},城市:{},城镇:{}".format(
                    province,
                    choice_city,
                    choice_town))
            break
'''
4.题 
有两个列表
l1 = [11, 22, 33]
l2 = [22, 33, 44]

a. 获取内容相同的元素列表
b. 获取l1中有, l2中没有的元素列表
c. 获取l2 中有,l1中没有的元素列表
d. 获取l1 和 l2 中内容都不同的元素
'''
l1 = [11, 22, 33]
l2 = [22, 33, 44]
l1 = set(l1)
l2 = set(l2)
# a 交集 打印出两个集合中相同的数据
print(l1.intersection(l2))
# b 差集   在l1中有,在l2中没有
print(l1.difference(l2))
# c 差集   在l2中有,在l1中没有
print(l2.difference(l1))
# d 并集  两个列表中重复元素仅打印一次
print(l1.union(l2))

a = list(l1.difference(l2))    # 差集   转化成列表
b = list(l2.difference(l1))

a.extend(b)  # 将另一个集合的元素逐一添加进来
print(a)
'''
5.题
a. 将字符串 s = "alex"转换为列表
b. 将字符串s = "alex"转换为元组
c. 将列表li = ["alex", "seven"]转换为元组
d. 将元组 tu = ("Alex", "seven")转换为列表
'''
# 字符串转换为列表
s = "alex"
print(list(s))
# 字符串转换成元组
s1 = 'alex'
print(tuple(s1))
# 列表转换成元组
li = ['alex','seven']
print(tuple(li))
# 元组转换成列表
tu = ('alex','seven')
print(list(tu))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值