Python的基本数据类型

1、算数运算

运算符描述实例
+加-两个对象相加a+b
-a-b
**a**b
*a*b
/b/a
//取整除a//b
%取模b%a

2、比较运算

运算符描述实例
==等于a==b
!=不等于a!=b
<>不等于a<>b
>大于a>b

3、成员运算

运算符描述实例
in如果在指定的序列中找到值就返回True,否则返回Falsex在y序列中,如果在就返回True
not in如果在指定的序列中没有找到返回值True,否则返回Falsex不在y序列中,如果x不在y序列中返回True

4、基本数据类型

①数字

int(整型)

②布尔型

真或假
1 或 0

③字符串

"hello world"

字符串常用功能:
•移除空白
•分割
•长度
•索引
•切片

④列表

创建列表:

name_list = ['alex', 'seven', 'eric']
或
name_list = list(['alex', 'seven', 'eric']) 

基本操作:
•索引
•切片
•追加
•删除
•长度
•切片
•循环
•包含

⑤元组

创建元组:

ages = (11, 22, 33, 44, 55)
或
ages = tuple((11, 22, 33, 44, 55))

基本操作:
•索引
•切片
•循环
•长度
•包含

⑥字典

创建字典:

person = {"name": "mr.wu", 'age': 18}
或
person = dict({"name": "mr.wu", 'age': 18})

常用操作:
•索引
•新增
•删除
•键、值、键值对
•循环
•长度

PS:循环,range,continue 和 break

5、其他

1、for循环

用户按照顺序循环可迭代对象中的内容,
PS:break、continue

li = [11,22,33,44]
for item in li:
	print(item)

2、enumrate

为可迭代的对象添加序号

li = [11,22,33]
for k,v in enumerate(li, 1):
    print(k,v)

3、range和xrange

指定范围,生成指定的数字

print range(1, 10)
# 结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]

print range(1, 10, 2)
# 结果:[1, 3, 5, 7, 9]

print range(30, 0, -2)
# 结果:[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]  

练习题

一、元素分类

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

li  = [11,22,33,44,55,66,77,88,99,100]
K1 = []
K2 = []
for i in li:
    if i >66:
        K1.append(i)
    else:
        K2.append(i)
print("K1:%s"%K1,"K2:%s"%K2)
#结果:K1:[77, 88, 99, 100] K2:[11, 22, 33, 44, 55, 66]

二、查找

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

li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain") 
dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
#查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
li = ["alec","aric","Alex","Tony","rain"]
tu = ("alec","aric","Alex","Tony","rain")
dic = {"k1":"alex","k2":"aric","k3":'Alex','k4':'Tony'}
for i in li:
    b=i.strip()
    if (b.startswith("a") or b.startswith("A")) and b.endswith("c"):
        print(b)
        
for i in tu:
    c=i.strip()
    if (c.startswith("a") or c.startswith("A")) and c.endswith("c"):
        print(c)

for i2 in dic:
    d=dic[i2].strip()
    if (d.startswith('a') or d.startswith('A')) and d.endswith('c'):
        print (d)

三、输出商品列表,用户输入序号,显示用户选中的商品

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

li = ["手机", "电脑", '鼠标垫', '游艇']
for key, i in enumerate(li, 0):
    print(key, i)
user = int(input("输入序号"))
print(li[user - 1])

四、购物车

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

goods = [
{"name": "电脑", "price": 1999},

{"name": "鼠标", "price": 10},

{"name": "游艇", "price": 20},

{"name": "美女", "price": 998},
]
#第四题购物车答案
shopping_cart = []
salary = 2000
goods = [
    {"name": "电脑", "price": 3000},

    {"name": "鼠标", "price": 103},

    {"name": "游艇", "price": 200000},

    {"name": "美女", "price": 998},
]

for i in enumerate(goods):
    index = i[0]  # 序号

    p_list = i[1]  # 商品清单

    p_name_list = p_list.get('name')  # 商品名称列表

    p_price_list = p_list.get('price')  # 商品价格列表

    print(index, ":", p_name_list, p_price_list)

while True:

    choice = input("please enter your choice:").strip()

    if choice.isdigit():  # 如果选择为正整数

        choice = int(choice)  # 输入为数字

        if choice < len(goods) and choice >= 0:  # 选择小于列表长度大于0时

            p_item = goods[choice]  # 加入购物车

            p_name = p_item.get('name')

            p_monery = p_item.get('price')

            if p_monery <= salary:  # 如果商品价格小于等于余额

                shopping_cart.append(p_item)  # 加入购物车

                salary -= p_monery  # 结算

                print("购买的商品\033[32m:%s\033[0m已加入到购物车".center(40, '-') % p_name)

                for p_item in shopping_cart:
                    print(p_name, p_monery)

                    print("您的余额为\033[31m:%s\033[0m元" % salary)

            else:

                print("您的余额不足,差%s元" % (abs(p_monery - salary)))

        else:

            print("没有此件商品!")

    else:

        print("参数错误")

    if choice == "q" or choice == "quit":

        cost = 0

        print("您购买的商品清单如下:")

        for p in shopping_cart:
            print(p_name, p_monery)

            cost += p_monery

        print("\033[32m消费总金额:", cost, "元\033[0m")

        print("\033[32m您的余额为:", salary, "元\033[0m")

        break

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

dic = {
"河北": {
    "石家庄": ["鹿泉", "藁城", "元氏"],
    "邯郸": ["永年", "涉县", "磁县"],
}
"河南": {
    ...
}
"山西": {
    ...
}
}
dic = {
    "江西": {
        "萍乡": ["安源", "彭高", "上栗"],
        "新余": ["良山", "新钢", "兴安岭"],
    },
    "北京": {
        "大兴区": ["礼贤镇", "魏善庄镇", "北臧村镇"],
        "昌平区": ["沙河", "化庄", "白浮泉"],
    },
    "福建": {
        "莆田": ["荔城", "西天尾", "九化山"],
        "厦门": ["湖里", "思明", "海仓"],
    }
}
print('可查询的省份:江西、北京、福建')
# 让用户输入要查询的省份。
while True:

    province = input('请输要查询的省份:')

    # 当用户输入的省份不在要查询的字典中时,跳出本次循环,继续让用户输入。

    if not province in dic:
        print('输入错误,请重新输入')

        continue

    # 当用户输入的要查询的省份在字典中时,跳出循环。

    break

# 将用户输入的省份去取出字典中的指定的省份(键)的值——市级字典,

# 然后遍历每个市级字典,遍历的的结果是取出市级字典中每个键。

for i in dic[province]:
    print(i, end=' ')  # 取出的市级字典中的每个城市(键),并作一行显示。

# 让用户输入要查询的城市。

while True:

    city = input('请输入要查询的城市:')

    # 当用户输入的城市不在要查询的子字典中时,跳出本次循环,继续让用户输入。

    if not city in dic[province]:
        print('输入错误')

        continue
    # 当用户输入的要查询的城市在子字典中时,跳出循环。
    break
# 将用户输入的城市去取出子字典中的指定的城市(键)的值——县级列表

# 然后遍历每个镇县级列表,遍历的的结果是取出县级列表中的每个县名。

for j in dic[province][city]:
    print(j, end=' ')

更多相关内容可参看下面的地址:
地址

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值