元组
元组是一种特殊的列表, 不能修改的列表就叫元组, 元组使用小括号括起来
tuple1 = () # 空元组
print(a)
print(type(tuple1))
当元组只有一个元素时, 需要在该元素后面增加逗号,否则视为其他数据类型
tuple1 = (1,)
元组不需要括号也可以
#
tuple2 = 1, 2, 3, 4, 5
python中变量交换数据
a = 1
b = 2
# python 赋值
a, b = b, a
print(a, b)
元组支持索引。所以可以做截取、组合、拼接等操作
tup = ('大郎', '二郎', '李贵')
print(tup[1])
无法使用del对元组元素进行删除, 但是可以删除整个元组
del tup[1] #错误写法
删除整个元组
del tup
python中的字典
dict = {}
字典使用大括号,字典可以进行修改。冒号前面的称为键(key),冒号后面的称为值(value),键不可以修改,值可以修改
dict1 = {'name': '小明', 'age': 18, 'sex': '男'}
创建空字典的方式
d1 = dict( name='小明', age=18, sex='男')
查询字典: 可以通过键访问对应的值, 但是不能通过值访问键
print(dict['name'])
# 正确的字典转换方式
list_data = [('name', 'tom'), ('name2', 'jerry')]
d = dict(list_data)
print(d)
使用这种方式生成字典时, 子列表或者子元素里面不可以超过2个元素,元素数量必须为2个
# 正确的字典转换方式
list1 = [('name', 'tom'), ('name2', 'jerry')] # 元组方式
list2=[['name', 'tom'],['name2', 'jerry']] # 列表方式
d = dict(list1)
d = dict(list2)
print(d)
字典的键一定时不可变的数据类型。列表不可以作为字典的键
list3=[[['name', 'age'], 'tom'], ['name2' , 'jerry',]] # 错误写法
字典的值是可以变化的。列表可以作为字典的值存在
list3=[['name',['tom','黑娃']],['name2','jerry',]]
元组也可以作为字典的键
list4=[((1,2,3),"我是值")]
#元组可以作为键存在
访问值的第二种方式
d = {'name': '小明', 'age': 18, 'sex': '男'}
print(d.get('name'))
d = {
'武侠类电影': '功夫',
'爱国类电影': '速度与激情',
'搞笑电影': '逐梦演艺圈'
}
print(d.get("爱国类电影")) #get可以访问字典里面的值,需要传递dui
如果传递的是不存在的键, 则返回None,或者返回第二个参数
print(d.get('got','没得'))
如果键存在,则修改对应,如果键不存在,则增加
d['战争类电影']='ceshidedianyingming'
print(d)
zip(映射的函数, 会将两个列表中的数据一一对应)
list = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9, 0]
# zip: 映射的函数, 会将两个列表中的数据一一对应
d = dict(zip(list, list2)) # 将一个映射对象转换为一个字典
print(d)
update()更新 (如果键不存在,则新增一组键值对,如果键存在,则做修改)
d = {'name': '小明', 'age': 18, 'sex': '男'}
d.update({'country': '中国', 'city': '北京'})
print(d)
通过键删除值, (键不能重复 , 值可以是重复的)
删除元素
d = {'name': '小明', 'age': 18, 'sex': '男'}
d.update({'country': '中国', 'city': '北京'})
del d['name']
print(d)
print(d)
del(d)
字典中用clear()
清空字典
使用字典的clear()方法可以清空字典中的所有键值对,使字典变为空字典
person = {'name': 'Alice', 'age': 30, 'city': 'New York'}
person.clear()
print(person) # 输出:{}
dict.fromkeys():创建一个新字典,以序列中的元素作为字典的键,所有键对应同一个初始值。例如:
keys = ['x', 'y', 'z']
d = dict.fromkeys(keys, 0)
print(d) # 输出:{'x': 0, 'y': 0, 'z': 0}
判断字典中是否存在某个键
print('name' in d)
访问字典所有的键
print(d.keys())
打印每一个键和他对应的值
for key in d:
print(key, ':', d[key])
print(d.values())
print(type(d.values()))
将字典的值这种特殊的数据类型转成真正意义上的list
print(d.values())
print(type(d.values()))
a=list(d.values())
print(a)
访问字典所有的键和值,以键值对形式存在。
print(d.items())
pop:弹出
a = d.pop('name') # 根据键弹出对应的数据
print(a)
print(d)
字典与json之间的转换
if语句
if user == 'admin' and passwd == '123456':
print("登录成功")
else:
print("登录失败")
if条件判断语句(必须返回True或False)
if语句:
if 条件:
# 缩进4个空格(1个tab),代表仅在if语句中生效
print("条件成立时执行")
缩进的代码仅在if语句内生效
!一个等号相当于赋值,两个等号相当于判断比较
if age > 5: print('nishiyigbigbaby')
if age>5:
print('you are big baby')
if elif else : elif 会自动排除上一个if划分的区间
score = int(input('请输入李明的考试成绩'))
if score > 90:
print('优秀')
elif score > 80:
print('良好')
else:
print('拉比')
输入一个数,要求判断其是否为偶数,如果该数为0,则输出:输入为0,如果大于0且为偶数
输入:你是偶数,如果无法被2整除,则为奇数。如果小于0,则输出:你是一个负数。
num1 = int(input('请输入一个偶数'))
if num1 < 0:
print('请输入正数')
elif num1 == 0:
print('输入的数字为0')
elif num1 % 2 ==0:
print('输入的数字为偶数')
else:
print('输入的数字为奇数')
·每个条件后面都需要加上在使用if语句时,有一些注意事项需要注意:
- 每个条件后面都需要加上冒号
:
- 代码块的缩进应该保持一致,否则会导致语法错误
- 可以使用pass语句来占位,表示该代码块暂时不做任何操作冒号:。
While 循环的基本用法
While循环用于在满足特定条件的情况下重复执行一段代码。
与 For 循环类似,While 循环也能够实现重复执行,但两者侧
重点不同。
While循环的执行条件由一个表达式决定,只要表达式为真,
循环就会继续执行。
输出1-10以内的偶数
i = 1
while i <= 10:
if i % 2 == 0:
print('偶数', i, end=' ')
i += 1
嵌套循环
# 嵌套循环
i = 1
while i <= 3:
j = 1
while j <= 5:
print(j, end=' ') # \t 代表的是制表符
j += 1
print()
i += 1
9x9乘法表:
i = 1
k = 1
while i <= 9:
j = k
while j<=9:
print(i,'x',j,'=',i*j,end='\t')
j+=1
i+=1
k+=1
print()
#9x9乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
print('%d x %d = %d' % (j, i, j * i), end='\t')
j += 1
print()
i += 1
计算1-100之间数的总和:
打印一个等腰三角形
i = 1
while i <= 3:
j = 1
if i == 1:
print(' *')
print(' ' * (3-i), end='')
while j <= i+2:
print('*', end=' ')
j += 1
print()
i += 2
打印一个完美的等腰三角形
# 打印一个由星号组成的对称图案
row = 1
while row <= 3:
col = 1
if row == 1:
print(' *')
# 打印前导空格
print(' ' * (3 - row), end='')
# 打印星号,每个星号后带空格
while col <= row + 2:
print('*', end=' ')
col += 1
print()
row += 1 # 改为每次加1,确保所有行都被处理
小练习:五一假期期间,为保证游客们顺利出行,某某景点推出以下入园要求:需购买门票,且体温在37℃以下,否则禁止入园。
ticket = input("是否购买门票?(是/否): ")
temperature = int(input("请输入体温(℃): "))
if ticket == "是" and temperature < 37:
print("可以入园")
else:
print("禁止入园")
28 4 10 25 = 67
while 条件语句
循环体