元组

元组是一种特殊的列表, 不能修改的列表就叫元组, 元组使用小括号括起来

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语句时,有一些注意事项需要注意:

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("禁止入园")

Pasted image 20250508151906.png

28 4 10 25 = 67
while 条件语句
循环体