python 基本数据类型练习题

时间:2023-03-10 08:44:41
python 基本数据类型练习题
练习题

一、元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

dic= {
    "k1":[],
    "k2":[]
}
li= [11,22,33,44,55,66,77,88,99,90]
for i in li:
    if i<=66:
        dic["k1"].append(i)
    else:
        dic["k2"].append(i)
print (dic)

1.元素分类答案

二、查找
查找列表中元素、移除每个元素的空格、并查找以 a或A开头 并且以 c 结尾的所有元素。

li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
li_1=[]

s=0
for i in li:
    ret=i.strip()    #去掉空格
    ret=ret.capitalize()  #将首字母变成大写
    start=ret.startswith("A")
    end=ret.endswith("c")
    if start==True and end ==True:
       li_1.append(li[s])
    else:
        pass
    s+=1
t=0
for i in tu:
    ret=i.lstrip()    #去掉空格
    ret=ret.capitalize()  #将首字母变成大写
    start=ret.startswith("A")
    end=ret.endswith("c")
    if start==True and end==True:
        li_1.append(tu[t])
    else:
        pass
    t+=1

for value in dic.values():
    ret=value.lstrip()
    if ret.startswith("A")==True  and ret.endswith("c")==True:
        li_1.append(ret)
    elif   ret.startswith("a" )==True  and ret.endswith("c")==True:
        li_1.append(ret)
print(li_1)

2.查找



三、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']

li = ["手机", "电脑", '鼠标垫', '游艇']
for k,v in enumerate(li,1):
    print(k,v)
inp =input("input nunbel:")
inp=int(inp)
if inp >0 and inp<=len(li):
    print(li[inp-1])
else:
    print("商品不存在")

商品列表



四、购物车
功能要求:

要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车

ass_all=input('总资产:')
ass_all= int(ass_all)
car_all =[]
goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
]
for i in goods:
    print(i["name"],i["price"])

while True:
    i2 = input("请选择商品(Y/y结算):")
    if i2.lower() == "y":
        break
    for j in goods:
        if j["name"] == i2 :
            car_all.append(j)

print(car_all)
p_all = 0
for p in car_all:
    m = p["price"]
    p_all+=m
if p_all>0 and ass_all < ass_all :
    print("购买成功")
elif p_all==0 :
    print("你没有选择商品")
else:
    print("余额不足")

购物车程序1

#/usr/bin/env python
#_*_coding:utf-8_*_

total = int(input("总额:"))

all_cat={}
goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
]
for i in goods:
    print (i["name"],i["price"])   #打印出所有商品
while True:
    i2 = input("请输入要购买的商品名称(Y/y结算):")
    if i2.lower()=="y":      #检测用户结算行为
        break
    #循环所有商品
    for i in goods:
        if i["name"]==i2:
            name = i["name"]
            if i2 in all_cat.keys():#判断购买的商品是否在购物车
                all_cat[name]={"single_price":i["price"],"num":all_cat[i2]["num"]+1}  #在,数量上加1
            else:
                all_cat[name]={"single_price":i["price"],"num":1}   #不在条件入购物车
print(all_cat)
sum= 0
for item in all_cat.values() :
    single_all = item["num"]*item["single_price"]
    sum+=single_all
if sum <= total:
    print("购买成功")
elif sum ==0 :
    print("你没有选购商品")
else:
    print("余额不足")

购物车程序2



 五、用户交互,显示省市县三级联动的选择

dic = {
    "河北": {
        "石家庄": ["鹿泉", "藁城", "元氏"],
        "邯郸": ["永年", "涉县", "磁县"],
    },
    "河南": {
        "开封": ["xx", "ooo", "sss"],
        "信阳": ["ccc", "bbb", "aaa"],
    },
    "山西": {
        "],
        "],
    },
}

for s in dic.keys():
    print(s)

x= input("请输入省份:")
b= dic[x]
for v in b.keys() :
    print(v)
ds= input("请输入地市:")
xc=dic[x][ds]
for xianc in xc:
    print(xianc)

5.三级联动