一、python的运算符
1)算数运算符
加(+)、减(-)、乘(*)、除(/)、求余(%)、求商(//)、x的y次方(**)
2)比较运算符
等于(==)、不等于(!=、<>)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)
3)赋值运算符
直接 赋值(=)、加法赋值(c+=a,相当于c= c+a)、减法赋值(-=)、乘法赋值(*=)、除法赋值(/=)、求余赋值(%=)、求商赋值(//=)、x的y次方赋值(**=)
4)逻辑运算
and(与逻辑)、or(或逻辑)、not(非逻辑)
5)成员运算
in(如果x在y的序列中,返回true),not in (如果x不在y的序列中,返回true)
二、python的基本数据类型
1)数字:1
int(整型)(python3取消了long int 长整形,所有都是int类型,python2里面有long int)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
最重要的两种方法:
number = 3
v = int(num,base=2)
v1 = num.bit_length() 当前数用多少位二进制表示
2)布尔:TRUE FALSE
真或假
1或 0
3)字符串: “alex”
在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。在Python3中,所有的字符串都是Unicode字符串。
字符串格式化:print("我叫 %s 今年 %d 岁!"('小明', 10))
test = “i am {name},age {a} ”
v = test.format(name = "alex",a = 18)
字符串常用功能:
- 移除空白 lstrip()和rstrip()分别是移除字符串左边的空格和右边的空格;str.strip([chars]);移除字符串头尾指定的字符
- 分割 str.join(sequence)
- 长度 len(str)
- 索引 find()或者index()
- 切片 [1:4]
4)列表 name_list
=
[
'alex'
,
'seven'
,
'eric'
]
基本操作:
- 索引 name_list[0]
- 切片 name_list[1:3]
- 追加 name_list.append("linhaifeng")
- 删除 del name_list[0],可以删除多个元素,pop和remove是删除单个元素,但是remove直接移除元素,pop是移除索引位置的元素
- 长度 len(name_list)
- 循环 for i in name_list:
- 包含 in 或者 contains
5)元组 ages
=
(
11
,
22
,
33
,
44
,
55,
) 不可以修改,元组的二级元素可以修改,写元组的时候后面多加个逗号
基本操作:
- 索引 ages[[1]
- 切片ages[1:3]
- 循环for i in ages
- 长度len(ages)
- 包含in 或者contains
6)字典(无序) dict ={'Alice':'2341','Beth':'9102','Cecil':'3258'}
- 索引 靠key进行索引,dict["Alice"], dict.get("Alice")进行索引,没有值的话返回None
- 新增 dict.update({"k1":"v1"})
- 删除 del ["Alice"]
- 键、值、键值对
- 循环 默认循环是对key进行循环,keys是对键进行循环,values是对值进行循环,items是对键值进行循环
- 长度
7)集合 (最重要的的功能就是去重,是一个无序的不重复元素序列。)
basket'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
aset('abracadabra') 输出结果:{'a', 'r', 'b', 'c', 'd'}
三、for 循环:用户按照顺序循环可迭代对象中的内容
1)简单的列表迭代
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]
四、day10作业:
一、元素分类
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于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"}
三、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']
四、购物车
功能要求:
- 要求用户输入总资产,例如:2000
- 显示商品列表,让用户根据序号选择商品,加入购物车
- 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
- 附加:可充值、某商品移除购物车
goods = [
{ "name" : "电脑" , "price" : 1999 },
{ "name" : "鼠标" , "price" : 10 },
{ "name" : "游艇" , "price" : 20 },
{ "name" : "美女" , "price" : 998 },
]
五、用户交互,显示省市县三级联动的选择
dic = {
"河北" : {
"石家庄" : [ "鹿泉" , "藁城" , "元氏" ],
"邯郸" : [ "永年" , "涉县" , "磁县" ],
}
"河南" : {
...
}
"山西" : {
...
}
}