Python基础03

一、字典(dict)

1.字典的定义

字典是由键值对构成,键是唯一的

字典的值可以是任意类型的数据

方式一:

d1 = {"name":"小李","age":23}
# 创建的是一个空字典
d2 = {}

方式二:

# 创建了一个空字典
d3 = dict()
d1 = {"name":"小李","age":23}
# 根据键来查找值
print(d1['name'])

2.字典常见操作

d1 = {"name":"小李","age":23}
# 根据键来查找值
# print(d1['name'])
# dict['thrid'] = '网易'       将键值为thrid的值修改诶'网易'
# d1['name'] = '张无忌'
# d1['age'] = 56
# print(d1)
# del dict['second']          删除键值为second的键值对
# 删除age这个键所对应的值
# del d1['age']
# print(d1)
# dict.clear()清空字典(只是将字典中所有的键值对删除,变成一个空字典)
# d1.clear()
# print(d1)
# del  dict 删除字典
del d1
print(d1)

3.字典常见方法

d1 = {"name":"小李","age":23}
# radiansdict.copy() 返回一个字典的复制
# d2 = d1.copy()
# print(d2)
# radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
# 将hello的每一个字母拆开,作为键,键所对应的值都为None
# d3 = d1.fromkeys("hello")
# print(d3)
# radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
# 如果有这个键,则返回键所对应值,如果没有默认返回None,第二个参数可以指定如果找不到该键时 ,返回的内容
# d4 = d1.get("name01", "-1")
# print(d4)
# radiansdict.keys() 以列表返回一个字典所有的键
# key_list = d1.keys()
# # 本身的限制导致虽然是以列表的形式返回内容,但是取值的时候,不能直接使用下标,如果要使用下标,强转一次
# print(list(key_list)[0])
# radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
# d5 = d1.setdefault("name01")
# print(d5)
# print(d1)
# radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里radiansdict.values() 以列表返回字典中的所有值
dict2 = {"sex":"男"}
d1.update(dict2)
print(d1)

二、控制结构

1.顺序结构

代码是从上往下依次执行

# 顺序结构
xiaomingshuo  = "你长得好帅,我很喜欢你"
xiaolishuo = "我也喜欢你,可是我有对象了!!!"
str1 = f"{xiaomingshuo}/{xiaolishuo}"
print(str1)

2.分支结构(判断)

python中的缩进一般是四个空格

  • 单分支

    语法:

    if 满足的条件:
        执行的代码
    

    案例:

    s = int(input("请输入您的成绩:"))
    if s > 60:
        print("已经及格了,奖励你一份家庭作业")
    
  • 双分支

    语法:

    if 条件:
        print("**********")
    else:
        print("!!!!!!!!!!")
    

    案例

    s = int(input("请输入您的成绩:"))
    if s >= 60:
        print("已经及格了,奖励你一份家庭作业")
    else:
        print("不及格,今晚上王者荣耀走起")
    
  • 多分支
    语法:

    if 条件:
        print("**********")
    elif 条件:
        print(%%%%%%%%%%%%%)
    elif 条件:
        print("safdsdef")
    else:
        print("!!!!!!!!!!")
    

    案例:

    s = int(input("请输入您的成绩:"))
    if s >= 90:
        print("秀")
    elif s >= 80:
        print("许秀")
    elif s >= 60:
        print("及格了")
    else:
        print("不及格,今晚上王者荣耀走起")
    
  • 嵌套分支

    在判断中包含判断

    s = int(input("请输入您的成绩:"))
    if s >= 90:
        print("秀")
        if s >= 95:
            print("天秀")
        else:
            print("秀儿")
    elif s >= 80:
        print("许秀")
    elif s >= 60:
        print("及格了")
    else:
        print("不及格,今晚上王者荣耀走起")
    

3.循环结构

  • for

    语法:

    for循环后面可以跟可迭代的:列表、元组、字典、集合、字符串

    for循环还可以结合range函数使用

    for 循环后面跟列表、元组、字典的时候,循环次数是有元素的个数决定的

    for 变量名 in 可迭代的数据:
        执行代码
    
    # for循环
    # 案例一:
    print("****************模块文件开始****************")
    names = ["殷天正", "韦一笑", "谢逊", "黛绮丝"]
    # 循环输出列表中的每一个值,循环次数是列表控制的
    for i in names:
        print(i)
        print("*********************")
    print("****************模块文件结束****************")
    # 案例二:
    print("****************模块文件开始****************")
    names = ("殷天正", "韦一笑", "谢逊", "黛绮丝")
    # 循环输出列表中的每一个值,循环次数是列表控制的
    for i in names:
        print(i)
        print("*********************")
    print("****************模块文件结束****************")
    # 案例三
    print("****************模块文件开始****************")
    info = {"name": '嘻嘻', "age": 23, "sex": "男"}
    for i in info:
        # 循环处理字典的时候,每一次取出的是字典的键,可以根据键取对应的值
        print(info[i])
        print("********************")
    print("****************模块文件结束****************")
    

    range

    # 可以产生任意范围内的正整数
    # range函数是左闭右开的区别  range(1, 10) 只能取1-9
    # range函数可以指定步长 需要了指定即可
    for i in range(1, 11):
        print(f"本次循环取出的值为:{i}")
    
    # 求1加到100和 5050
    # 定义一个变量,每次给这个变量加上本次产生的数据
    s = 0
    for i in range(1, 101):
        # 取出s之前的值,加上本次循环产生的值,累加后对s进行重复赋值
        # s = s + i # 先执行等号右边,在执行赋值操作
        s += i
    print(f"1加到10的和为:{s}")
    
  • while

    语法:

    while 条件:
        循环体中代码
    

    案例:遍历输出列表、元组、字符串、集合、字典

    ```python

    案例一:

    # 定义一个变量,作为下标使用

    idx = 0

    下标的大小不能超过 列表的长度(也就是元素个数)

    while idx < len(names):
        # 根据下标取值
        print(names[idx])
        # 循环一次,给下标加1
        # idx = idx + 1
        idx += 1
    

    案例二:

    names = (“殷天正”, “韦一笑”, “谢逊”, “黛绮丝”)

# 定义一个变量,作为下标使用

idx = 0

下标的大小不能超过 列表的长度(也就是元素个数)

 while idx < len(names):
     # 根据下标取值
      print(names[idx])
      # 循环一次,给下标加1
      # idx = idx + 1
      idx += 1

案例三:

str1 = “helloworld”

定义变量模拟下标

idx = 0

while idx < len(str1):
     # 根据下标取值
      print(str1[idx])
      # 循环一次给循环加一
      idx += 1

  案例:1加到100的和
  # 通过while循环 求1-100的和
  # 保存结果
  s = 0
  # i模拟1-100这个100个数字
  i = 1
  # 如果i小于等于100 则执行累加操作,
  while i <= 100:
      # 用s来保存值
      s += i
      # 每次循环之后,i必须加1 ,才可以模拟数字
      i += 1
  print(s)

4.终止循环

break:终止整个循环

continue:终止本次循环,后面的循环还要继续

nba_ages = [
    ('Mike Jordan', 19),
    ('Jason Kid', 18),
    ('Korby Briant', 16),
    ('Lebron James', 26),
    ('Korby Briant4', 16),
    ('Korby Briant5', 16),
    ('Korby Briant6', 16),
    ('Korby Briant7', 16),
    ('Korby Briant7', 16),
    ('Korby Briant8', 16),
    ('Korby Briant9',16),
    ('Korby Briantk',16)
]
# 先确定数据类型
for name_age in nba_ages:
    # 取出的元素是一个元组('Mike Jordan', 19)
    name = name_age[0]
    age = name_age[1]
    # 判断是否是 Lebron James 如果是了则输出人的年龄
    if name == 'Lebron James':
        print(age)
        # # 代码执行到break后,就会终止整个循环
        # break
        # 终止本次循环,下次循环还会继续
        continue
    else:
        print("本次循环不是Lebron James")
    print("*********************************")
nba_ages = [
    ('Mike Jordan', 19),
    ('Jason Kid', 18),
    ('Korby Briant', 16),
    ('Lebron James', 26),
    ('Korby Briant4', 16),
    ('Korby Briant5', 16),
    ('Korby Briant6', 16),
    ('Korby Briant7', 16),
    ('Korby Briant7', 16),
    ('Korby Briant8', 16),
    ('Korby Briant9', 16),
    ('Korby Briantk', 16)
]
# 先定义变量模拟下标
idx = 0
# 列表的下标不能超过长度
while idx < len(nba_ages):
    # 根据下标取值
    name = nba_ages[idx][0]
    age = nba_ages[idx][1]
    # 判断,找人
    if name == 'Lebron James':
        print(age)
        break
    else:
        print("没有找到***")
    # 自增
    idx += 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值