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,否则返回False | x在y序列中,如果在就返回True |
not in | 如果在指定的序列中没有找到返回值True,否则返回False | x不在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=' ')
更多相关内容可参看下面的地址:
地址