初识Python.day2

 

一. python运算符

算数运算符

 比较运算符

赋值运算符

逻辑运算符

成员运算符

二. Python基础数据类型

1. python字符串总结

  1 # 首字母变大写
  2 # a1 = "jiuya"
  3 # print(a1.capitalize())
  4 
  5 # # 内容居中,
  6 # a1 = "jiuya"
  7 # ret = a1.center(20,'*')
  8 # print(ret)
  9 
 10 # 计算字符串中的子序列个数
 11 # a1 = "my name is mike"
 12 # # ret = a1.count("m")
 13 #   # 制定范围子序列个数
 14 # ret = a1.count("m",0,6)
 15 # print(ret)
 16 
 17 # 判断是否以什么结尾,支持子序列是否以什么结尾.获取大于等于0,小于2的位置
 18 # a1 = "hello"
 19 # ret = a1.endswith('o')
 20 # ret2 = a1.endswith('e',0,2)
 21 # print(ret2)
 22 
 23 # # 判断是否以什么开头,
 24 # a1 = "alex"
 25 # ret = a1.startswith('a')
 26 # print(ret)
 27 
 28 # 制表符,	代表一个tab键
 29 # find查找,找到返回找到的位置,找不到返回-1
 30 # s = "alex hello"
 31 # print(s.find("b"))
 32 
 33 # 字符串的格式化,只能从开始,按照顺序更新
 34 # s = "hello {0},age {1}"
 35 # print(s.format('jiu',23))
 36 
 37 # 寻找子序列的位置,如果没有找到则报错
 38 #  index
 39 
 40 # # 判断是否都是字母
 41 # a1 = "jiu"
 42 # print(a1.isalpha())
 43 #
 44 # # 判断是否都是数字
 45 # a1 = "123"
 46 # print(a1.isalnum())
 47 #
 48 # # 判断是否都是小写
 49 # a1 = "jiu"
 50 # print(a1.islower())
 51 #
 52 # # 判断是否都是大写
 53 # a1 = "JIU"
 54 # print(a1.isupper())
 55 #
 56 # # 判断是否是标题,首字母大写
 57 # a1 = "Jiu"
 58 # print(a1.istitle())
 59 #
 60 # # 连接,join.循环每个元素,通过特殊符号连接
 61 # li = ["jiu","ya","chun"]
 62 # s = "*".join(li)
 63 # print(s)
 64 #
 65 # # 去除空格
 66 # s = " alex "
 67 # # 左边去空格:new = s.lstrip()
 68 # # 右边去空格:new = s.rstrip()
 69 # # 两边去空格:new = s.strip()
 70 #
 71 # # 分割,指定分隔符分割,添加到一个元祖中
 72 # # 默认从左往右,rpartition从右往左找
 73 # s = "alex SB alex"
 74 # ret = s.partition('SB')
 75 # print(ret)
 76 #
 77 # # 替换,从左往右替换几次
 78 # s = "alex SB alex"
 79 # ret = s.replace("al","BB",1)
 80 # print(ret)
 81 #
 82 # # 分割,以默认分割,分完不带分割符.以找到的第几处为分隔符
 83 # s = "alexalex"
 84 # ret = s.split("e",1)
 85 #
 86 # # 变成标题
 87 # s = "the school"
 88 # ret = s.title()
 89 # print(ret)
 90 
 91 # # 索引
 92 # s = "alex"
 93 # print(s[0])
 94 #
 95 # # 长度
 96 # s = "abcd"
 97 # print(len(s))
 98 
 99 # 切片,遵循 大于等于,小于的规则
100 # s = "alex"
101 # print(s[0:1])
102 # print(s[-3:-1])
103 
104 # # while 实现循环打印字符串中的每个元素
105 # start = 0
106 # s = "alex"
107 # while start < len(s):
108 #     temp = s[start]
109 #     start += 1
110 #     print(temp)
111 
112 # # for循环实现字符串打印,碰到e不打印
113 # s = "alex"
114 # for I in s:
115 #     if I == "e":
116 #         continue
117 #     print(I)

 2. 列表

 1 ##### 列表:
 2 # 索引,正索引从0开始,负索引从-1开始
 3 # name_list = ["jiu","niu","liu"]
 4 # print(name_list[0])
 5 
 6 # # 切片
 7 # print(name_list[0:2])
 8 
 9 # # len 长度
10 # print(len(name_list))
11 
12 # # for 循环
13 # for i in name_list :
14 #     print(i)
15 
16 # # 获取某个值的索引
17 # print(name_list.index("liu"))
18 
19 # # 追加
20 # name_list.append("ling")
21 # print(name_list)
22 
23 # # 统计元素次数
24 # print(name_list.count('jiu'))
25 #
26 # # 扩展,批量添加
27 # num_list = ["11","22","33"]
28 # name_list.extend(num_list)
29 # print(name_list)
30 
31 # # 指定位置插入元素,位置 + 元素
32 # name_list.insert(2,"SB")
33 # print(name_list)
34 
35 # # 移除最后一个元素,并赋值给变量
36 # a1 = name_list.pop()
37 # print(a1)
38 
39 # # 移除指定元素,左往右第一个
40 # name_list.remove('jiu')
41 # print(name_list)
42 
43 # # 反转
44 # name_list.reverse()
45 # print(name_list)
46 
47 # 指定位置删除
48 # name_list = ["jiu","niu","liu"]
49 # print(name_list)
50 # del name_list[0]
51 # del name_list[1:3]
52 # print(name_list)
53 #
53 # 修改列表指定元素
54 # list[index] = value
55 #
56 # list + list
57 # 连接列表,产生新列表,原列表不变
58 #
59 # list[] * n

60 # list1 = ["你"]
61 # list1 * 3
62 # ["你","你","你"]
63 # 排序
64 # sort(key=None,reverse=False)
65 # 对列表进行排序,就地修改,默认升序,key为一个函数,指定key如何排序
66 # 补充:
  列表删除
  remove(value) 从左往右匹配查找第一个匹配的值并删除 !!!遗忘掉!!!
  pop(index)   不指定索引则删除最后一个  默认用此方法

3.元祖

1 ##### 元祖
2 # 元祖和列表几乎是一样的,元祖不能修改。若以后创建一个集合,
3 # 不想让人修改可以用元祖,想让人修改,可以用集合
4 
5 # 切片
6 # 索引
7 # len
8 # for循环
9 # 个数count

4. 字典

 1 ###字典,字典的每个元素都是一个键值对
 2 user_info = {
 3     "name":"alex",
 4     "age":23,
 5     "gender":"M"
 6 }
 7 # 索引
 8 # print(user_info["name"])
 9 
10 # # 循环,默认输出的是keys值
11 # for I in user_info:
12 #     print(I)
13 # print(user_info.keys())     # 输出键
14 # print(user_info.values())   # 输出值
15 # print(user_info.items())    # 输出键值
16 
17 # 清除所有内容
18 # user_info.clear()
19 # print(user_info)
20 #
21 # # get 根据key获取值,如果key不存在,可以指定默认值,和下面删除 pop()类似功能
22 # val = user_info.get('name')
23 # print(val)
24 # # 索引取值时,如果不存在则会报错。推荐用get。指定默认值处理方式
25 # val = user_info.get('age1',40)
26 # print(val)
27 
28 # # 检查字典中指定key是否存在
29 # ret = 'name' in user_info.keys()
30 # print(ret)
31 
32 # # update 批量更新键值对
33 # print(user_info)
34 # test = {
35 #     "a1":"123",
36 #     "a2":"456"
37 # }
38 # user_info.update(test)
39 # print(user_info)
40 
41 # # 删除指定索引键值
42 # del user_info["name"]
43 # print(user_info )
44 # 删除指定键,返回值是一个元祖
45 # a =
dic.pop('age')
46 #
47 # 可删除不存在键,自定义设置返回值
47 # print(dic.pop('high','没有此键'))

48 # 分别赋值思想,则可以分别打印字典的键,值
49 # for a,b in dic.items():
    print(a,b)

 5. 补充

# # enumerate 默认会在列表前面加一行索引数字,默认从0开始计数,列表,字典等都可用
# li = ["电脑","鼠标","键盘"]
# for key,value in enumerate(li,1):
#     print(key,value)
#
# inp = input("请输入你要的商品:")
# num = int(inp)
# print(li[num - 1])
# li = ["电脑","鼠标","键盘"]
# inp = li.index("鼠标")
# print(inp)

# range 需要用循环打印出内容,也可以指定跨度
# for I in range(1,10):
#     print(I)
# for I in range(10,1,-2):
#     print(I)
# 用range 循环列表实现enumerate的功能
# li = ["jiu","liu","niu"]
# lens = len(li)
# # print(lens)
# for I in range(0,lens):
#     print(I,li[I])

 三. 练习题

1.元素分类

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

 1 li = [11,22,33,44,55,66,77,88,99]
 2 all = {
 3     "k1":[],
 4     "k2":[]
 5 }
 6 for I in li:
 7     if I > 66:
 8         all["k1"].append(I)
 9     elif I < 66:
10         all["k2"].append(I)
11 print(all)
12 感觉此处运用到的一个知识点为:字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

2.查找

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

3.商品选购

商品 li = ["手机", "电脑", '鼠标垫', '游艇']

4.购物车

功能要求:

  • 要求用户输入总资产,例如:2000
  • 显示商品列表,让用户根据序号选择商品,加入购物车
  • 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
  • 附加:可充值、某商品移除购物车
1 goods = [
2     {"name": "电脑", "price": 1999},
3     {"name": "鼠标", "price": 10},
4     {"name": "游艇", "price": 20},
5     {"name": "美女", "price": 998},
6 ]

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

 1 dic = {
 2     "河北": {
 3         "石家庄": ["鹿泉", "藁城", "元氏"],
 4         "邯郸": ["永年", "涉县", "磁县"],
 5     }
 6     "河南": {
 7         ...
 8     }
 9     "山西": {
10         ...
11     }
12  
13 }
原文地址:https://www.cnblogs.com/jiuyachun/p/9958800.html