一、单引号、双引号和三引号
单引号‘’ 括起来是一个字符串
双引号“” 括起来是一个句子
三引号‘’‘ ’‘’ 括起来是一个段落(可换行)
【当使用发生歧义时,可用转移符号/】
my_str1 = 'I\'m a student'
print(my_str1)
my_str2 = "Jack said:\"I like you\""
print(my_str2)
my_str3 = 'Jack said:\"I like you\"'
print(my_str3)
运行结果:
I'm a student
Jack said:"I like you"
Jack said:"I like you"
****
\\ 反斜杠符号
\’ 单引号
\” 双引号
\n 换行
\t 横向制表符
****
二、字符串的截取和连接
str = "beijing"
print(str) #输出字符串
print(str[0:-1]) #输出第一个到倒数第二个的所有字符
print(str[0]) #输出字符串的第一个字符
print(str[2:5]) #输出从第三个开始到第五个的字符
print(str[2:]) #输出从第三个开始后的所有字符
print((str+" ")*2) #输出字符串两次
print(str+",你好") #连接字符串
print(str[:5]) #输出从第五个的字符前的所有字符
print(str[1:7:2]) #[起始位置:终止位置:步值]
运行结果:
beijing
beijin
b
iji
ijing
beijing beijing
beijing,你好
beiji
ejn
三、列表
1、列表的循环遍历
可以定义一个空的循环列表
列表中可以存储不同类型的数据(混合类型)
testlist = [21,"小刘",18,"小张"]
for test in testlist:
print(test,end=" ")
print("")
i = 0
while i<len(testlist):
print(testlist[i],end=" ")
i += 1
运行结果:(两种遍历方法)
21 小刘 18 小张
21 小刘 18 小张
2、列表的 增 删 改 查 排
(1)增
'''增:【append】、【extend】、【insert】'''
a = [1,2]
b = [3,4]
a.append(b) #将列表当做一个元素,追加到a列表中
print(a)
a.extend(b) #将b列表中的每一个元素追加到a列表中
print(a)
b.insert(1,5) #第一个变量表示下标,第二个变量表示元素(对象)
print(b) #指定下标位置插入元素
运行结果:
[1, 2, [3, 4]]
[1, 2, [3, 4], 3, 4]
[3, 5, 4]
(2)删
'''删:【del】、【pop】、【remove】'''
movieName = ["加勒比海盗","第一滴血","指环王","速度与激情","指环王","骇客帝国"]
del movieName[1] #在指定位置(下标)删除一个元素
print(movieName)
movieName.pop() #弹出列表末尾的最后一个元素
print(movieName)
movieName.remove("指环王") #直接删除指定内容的元素(只删除第一个指定内容元素)
print(movieName)
运行结果:
['加勒比海盗', '指环王', '速度与激情', '指环王', '骇客帝国']
['加勒比海盗', '指环王', '速度与激情', '指环王']
['加勒比海盗', '速度与激情', '指环王']
***列表中可以出现重复元素***
(3)改
a = [1,2,3,4,5,6]
a[1] = 10 #修改指定下标的元素内容
print(a)
运行结果:
[1, 10, 3, 4, 5, 6]
(4)查
'''查:【in】、【not in】'''
a = ["小李","小红","小王","小张"]
name = input("请输入要查找的学生姓名:")
if name in a:
print("在学生列表中找到了相同的名字")
else:
print("没有找到")
运行结果:
请输入要查找的学生姓名:小王
在学生列表中找到了相同的名字请输入要查找的学生姓名:小刘
没有找到
#查找
mylist = ["a","b","c","a","b"]
print(mylist.index("a",1,4)) #可以查找指定下标范围的元素,并返回找到对应数据的下标
#范围区间 左闭右开 【1,4) 找不到会报错
print(mylist.count("b")) #统计某个元素在列表中出现了几次
运行结果:
3
2
(5)排(排序)
a = [4,2,1,5,3]
a.reverse() #将列表中所有元素反转
print(a)
a.sort() #升序
print(a)
a.sort(reverse=True) #降序
print(a)
运行结果:
[4, 2, 1, 5, 3]
[3, 5, 1, 2, 4]
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
四、八个老师被随机分在三个办公室,输出每个办公室的人数及姓名
import random
offices = [[],[],[]]
teachers = ["A","B","C","D","E","F","G","H"]
for teacher in teachers:
index = random.randint(0, 2)
offices[index].append(teacher) #将教师随机添加在三个办公室中
i = 1
for office in offices: #遍历办公室
print("办公室%d的人数为:%d人"%(i,len(office)))
for teacher in office: #遍历办公室中的老师
print(teacher,end="\t")
i += 1
print("")
print("-"*20)
运行结果:
办公室1的人数为:2人
G H
--------------------
办公室2的人数为:2人
C F
--------------------
办公室3的人数为:4人
A B D E
--------------------
五、打印出商品列表,根据列表写一个循环,不断询问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车中,最终用户输入q时退出,打印购买的商品列表
products = [["iphone",6888],["MacPro",14800],["小米6 ",2499],["Coffee",31],["Book ",60],["Nike ",699]]
print("-"*8+"商品列表"+"-"*8)
i = 0
for product in products:
print(i,"\t",product[0],"\t",product[1])
i += 1
print("-"*8+"挑选商品"+"-"*8)
buys = []
while 1:
nums = input("请输入添加到购物车中的商品序号:")
if nums != "q":
buys.append(nums)
else:
break
print("-"*8+"购买列表"+"-"*8)
print("选购的商品为:")
for buy in buys:
print(products[int(buy)],end="\n")
运行结果:
--------商品列表--------
0 iphone 6888
1 MacPro 14800
2 小米6 2499
3 Coffee 31
4 Book 60
5 Nike 699
--------挑选商品--------
请输入添加到购物车中的商品序号:0
请输入添加到购物车中的商品序号:3
请输入添加到购物车中的商品序号:5
请输入添加到购物车中的商品序号:q
--------购买列表--------
选购的商品为:
['iphone', 6888]
['Coffee', 31]
['Nike ', 699]