python_03

24、for 和 else

eat1 = "fffffffffffff"
eat2 = "fffcfffffffcf"

# for 配合else: 正常执行循环后,会执行else中的代码,如果遇到break退出,else中的代码就不再执行

for i in eat2:
    if i == "c":
        print("吃到苍蝇了,不吃了")
        break
    else:
        print("一口一口吃饭")
else:
    print("吃的好饱呀")

25、while 循环嵌套

num1 = 0  # 初始化变量,负责循环行的
# 外层循环一次,内层循环一轮
while num1 < 7: # 外层循环,循环行数
    num2 = 0  # 初始化变量,负责循环列的
    while num2 < 3: # 内层循环,循环列数
        print("吃饭---",end="") # 打印吃饭,加上 end="" 不回车
        num2 += 1
    print()      # 没输入完行的内容,回车一下
    num1 += 1

print()
print()
# num3 = 0
# while num3 < 8:
#     num4 = 0
#     while num4 < 4:
#         print("哈哈---",end="")
#         num4 += 1
#     print()
#     num3 += 1
num3 = 0
while num3 < 7:
    num4 = 0
    while num4 < 3:
        print("吃饭---",end="")
        num4 += 1
    print()
    num3 += 1

26、range

# range(开始, 结束, 步长) 能取到 开始位置数字,但 不能取到 结束位数字,步长默认为1
# range()顾头不顾尾
for i in range(1,6,1):  # 12345
    print(i)

print("---")

for i in range(1,6):    # 12345     步长默认为1
    print(i)

print("---")

for i in range(1,6,2):  # 135
    print(i)

print("---")

for i in range(6,1):     # 当第一个值比第二个值要大,不会生成任何数据 这种写法 是错误的
    print(i)

print("---")

for i in range(6,1,-1):     # 65432     步长设置为-1,方向向左去寻找
    print(i)

# 练习1
# 计算从0到100之间的所有偶数的累加和
sum = 0
for i in range(0,101,2):
    sum += i
print(sum) # 2550

# 练习2
# 计算从0到100之间的所有奇数的累加和
sum1 = 0
for i in range(1,100,2):
    sum1 += i
print(sum1)     # 2500

sum = 0
for i in range(0,101,2):
    sum += i
print(sum)

sum1 = 0
for i in range(1,100,2):
    sum1 += i
print(sum1)

27、字符串相关

# 单引号、双引号、三引号
# python中单引号、双引号都可以定义字符串,建议使用双引号
# 正常双引号之中,不允许添加回车,会直接报错
str1 = "hehe"
print(str1)

str2 = 'hehe'
print(str2)

# 三个引号包裹的字符串,可以随意添加回车,叫做自定义显示格式
str3 = """
111
22

33

55
4



4

"""
print(str3)     #

str4 = '''
22
55

44

6
'''
print(str4)

# 有些符号,不方便通过键盘输入,可以使用一些特殊符号来代替
# \t代表一个tab的间距
# \n代表一个回车、换行
# \\代表一个\

print("老师教你学python课程")
print("老师\t教你学\npython课\\程")

# \" 或者 \' 在字符串打印时显示 " 或者 '
print("恩\'老师\'教你学\"python\"课程")

# 如果不想让字符串的特殊符号生效,只需要在字符串前添加字母 r 即可
print(r"恩\'老师\'教你学\"python\"课程")

# 字符串相加就是连在一起
str1 = "abc"
str2 = "123"
print(str1 + str2)

# 字符串相乘,得到若干倍的字符串
str3 = "efg"
str4 = str3 * 3
print(str4)

# 通过地址下标(或索引值)获取字符串指定位置的内容:
# 在python中索引值、地址下标从0开始计数
str5 = "python课程"
print(str5[0])
for i in str5:
    print(i)

print(str5[3])

str6 = "lishuguang 你好"
print(str6[1])
for i in str6:
    print(i,end="")

28、字符串切片

# 下标可以获得单个字符,切片可以获取多个字符
# 语法:
# 字符串[开始位置下标:结束位置下标:步长]

import random
# 切片:[开始闭区间:结束开区间:步长]
# random.randint(1,3) 都是闭区间
# (闭区间 代表 能取到    开区间 代表 取不到)
# range(开始,结束,步长) 开始闭区间(取)  结束是开区间(不取)  步长默认为 1
# 口诀:range和切片  顾头不顾尾
str1 = "abcdefg"
print(str1[2:5:1]) # cde  str1[2]能取到   str1[5]取不到
print(str1[2:5]) # 步长默认为1,可以不写
print(str1[:5]) # abcde 第一个参数不写,就代表从头开始
print(str1[2:]) # cdefg 第二个参数不写,代表获取到结尾
print(str1[:]) # abcdefg 前两个参数都不写,代表截取整个字符串
print(str1[::2]) # 从头到尾截取,步长为2

print(str1[5:1]) # 不打印任何东西,默认方向向右 这种写法是错的,除非步长为-1

print(str1[5:1:-1]) # fedc 负数步长,方向向左

# 反转字符串
print(str1[::-1])

print(str1[::-2])   # geca

print(str1[-4:-1])  # def


# 练习:
str2 = "lishuguang"
print(str2[2:5:1])
print(str2[2:5])
print(str2[:5])
print(str2[2:])
print(str2[:])
print(str2[::2])
print(str2[5:1:-1])
# 反转字符串
print(str2[::-1])

print(str2[::-2])
print(str2[-4:-1])

29、字符串查找和替换

# 语法:字符串.find
str1 = "恩老师教你python课程,让你学会python课程课程课程"
print(str1.find("你")) # 4   打印的内容是,所查找的东西的开始位 下标
print(str1.find("python"))  # 5
print(str1.find("python",6))    # 18 从下标为6的位置开始取查询内容
print(str1.find("pythonhehe")) # 结果为-1 代表没有找到连续的内容为pythonhehe的字符串

print(str1.index("你"))  # 4
print(str1.index("python",6))   # 18
# print(str1.index("pythonhehe")) # 没找到就会报错
# find 和 index都可以进行查找,find没有找到返回 -1 index没有找到,会报错


# count 出现次数
print(str1.count("你"))  # 2
print(str1.count("课程")) # 4
print(str1.count("python课程",6)) # 1   从str1[6]往后出现的python课程,只有1个
print(str1.count("python课程lalala")) # 0

# 字符串的替换
# replace(要替换谁,替换成什么,是否都替换)
str2 = "傻和大傻都不是傻文明语言,大家自觉抵制"
print(str2)
str2 = str2.replace("傻","可爱")
print(str2)

str3 = "傻和大傻都不是傻文明语言,大家自觉抵制"
str3 = str3.replace("傻","可爱",2) # 第三个参数可以省略不写,代表全部替换,如果写了n个,就替换n个
print(str3)

# 练习 去掉没有的空格
str4 = "   saaa fff  rrrf   flf   fl "
print(str4)
str4 = str4.replace(" ","")
print(str4)
str2 = "傻和大傻都不是傻文明语言,大家自觉地址"
print(str2)
str2 = str2.replace("傻","可爱")
print(str2)

str3 = "傻和大傻都不是傻文明语言,大家自觉抵制"
str3 = str3.replace("傻","可爱",2)
print(str3)

30、split分割

str1 = "恩 老师-教你python-课程 让你学会-python课程"
# split分割字符串,按照符号把字符串分割成若干份,放入列表中
print(str1.split("-"))
print(str1.split("-",2))    # 第二个参数代表分割次数
print(str1.split())     # 参数为空,代表按照空格进行分割

print(str1.split("-"))

#练习 去掉没有的空格
str2 = " jj  kkk     ee   vv       v"
print(str2)
str2 = str2.replace(" ","")
print(str2)

str3 = "   lsg-enyi  python  taiyang-yueliang  cheng-ping-an     "
print(str3.split("-"))
print(str3.split())
print(str3.strip()) # 去掉两头的空格

str1 = "恩 老师-教你python-课程 让你学会-python课程"
# split分割字符串,按照符号把字符串分割成若干份,放入列表中
print(str1.split("-"))
print(str1.split("-",2))
print(str1.split())

str2 = "  jj   kk ii yy tt rr   "
print(str2)
str2 = str2.replace(" ","")
print(str2)
str3 = "   how are you   "
print(str3.strip())

31、大小写转换

str1 = "aaaaaAAAABBBBBBFFFFFFF"
print(str1.lower()) # 转小写
print(str1.upper()) # 转大写

# 去掉两边的空格 strip() 而单词中间的空格不动
str2 ="     How are you          "
print(str2.strip())

str3 = "  kkkDDDDIIIIKKKKK  KKKdddd kkkkkQQQQ"
print(str3.lower()) # 转小写
print(str3.upper()) # 转大写
print(str3.strip()) # 去掉两头的空格,单词之间空格不变

32、列表

# python中的列表,c 和 c++ 中叫数组,目的是存储一组数据
list1 = ["刘备","关羽","赵云","张飞","赵云"]
print(list1)
print(type(list1))
print(list1[1]) # 地址下标代表找到第几个元素

list1.insert(1,"大乔")    # 插入新的元素到列表中(插入位置,插入元素)
list1.append("小乔")  # 列表的最后位置插入数据
print(list1)

list2 = ["曹操","许褚","张辽"]
list1.extend(list2) # 把list2插入到list1的后面
print(list1)

# 练习:
list3 = ["诸葛亮","司马懿","鲁肃","陈宫"]
list3.insert(2,"水镜")
list3.append("周瑜")
print(list3)
list3.extend(list1) # 把list1插入到list3后面
print(list3)
print("-----------------------------------------------")
list4 = list3
print(list4)

# 列表的修改
list1[1] = "lsg--"
print(list1)

# 列表的删除
del(list1[4]) # 删除下标为4的人
print(list1)

list1.remove("刘备") # 直接删除你写的元素
print(list1)

list1.pop() # 删除列表最后一项
print(list1)

list1.pop(3) # 删除对应下标的元素,与del实现效果一样
print(list1)

#list1.clear() # 清空列别
print(list)

print(list4)
del(list4[0])
list4.remove("司马懿")
list4.pop()
list4.pop(2)
list4.remove("大乔")
print(list4)

# count(内容) 得到出现的次数
list2 = ["刘备","张飞","赵云","赵云","关羽","张飞"]
print(list2.count("赵云"))
print(len(list2)) # list2列表的长度 即 元素总个数

print(list2.index("张飞"))    # 默认就是找元素第一次出现的索引值
print(list2.index("张飞",2)) # 第二个参数,从2号往后找

33、列表的排序

list1 = [3,1,9,88,66,0]
#list1.sort()    # 升序排列,从小到大,小括号中reverse = False 不写也代表升序

list1.sort(reverse=False)    # 升序排列

list1.sort(reverse=True)    # 降序排列

print(list1)

34、复制列表

list1 = [3,1,9,88,66,0]
list2 = list1.copy()
print(list2)

35、列表的嵌套

# 列表的嵌套 又称 二维列表  C或C++中的二维数组
list1 = [ ["张三",18,True], ["李四",20,False] ]
print(list1)
print(list1[0])
print(list1[1][1])

36、列表的遍历

list1 = ["刘备","关羽","赵云","张飞","赵云"]
for i in list1:
    print(i)

# 计算列表中的元素总个数 
sum = 0
for i in list1:
    print(i)
    sum += 1
print(sum)

  • 14
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值