循环结构
程序员文章站
2022-08-01 19:26:17
循环结构 循环结构(while) 格式 while 表达式: 语句块 执行流程:当程序执行到while语句时,首先判断表达式的真假。若表达式的值为真,则执行缩进的语句块,然后返回while,继续判断表达式的真假,直到表达式的值为假;若表达式的值为假,则直接跳过语句块,之后后面的代码。 说明: 表达式 ......
循环结构(while)
-
格式
while 表达式:
语句块执行流程:当程序执行到while语句时,首先判断表达式的真假。若表达式的值为真,则执行缩进的语句块,然后返回while,继续判断表达式的真假,直到表达式的值为假;若表达式的值为假,则直接跳过语句块,之后后面的代码。
-
说明:
-
表达式:也叫循环条件
-
语句块:也叫循环体
-
死循环:循环条件一直成立
-
break:跳出循环
-
continue:结束本次循环,进入下次循环
-
else:缩进的语句块,在循环正常退出时执行,break退出时不执行
-
循环结构(for-in)
-
说明:for-in也是一种循环,经常用于遍历可迭代的对象,如:字符串、列表、元组、字典等
-
格式
for x in y:
语句块执行流程:x依次表示y中的一个元素,遍历结束循环就结束了。
列表生成式
-
可迭代对象:可以迭代遍历的对象,如:列表、元组、字典
-
range函数
# 一个对象,保存了产生连续整数的算法
# 可以节约空间
# print(range(10))
# 指定区间,默认其实值为0
print(range(2, 10))
# 可以遍历
for i in range(10):
print(i)
# 可以转换成列表
print(list(range(10))) -
列表生成式
# 列表生成式:快速生成列表
# print([i for i in range(1, 11)])
# print([i*2 for i in range(1, 11)])
# print([i*i for i in range(1, 11)])
# print([str(i) for i in range(1, 11)])
print([i for i in range(1, 11) if i % 2 == 0])
循环嵌套
-
循环能否嵌套?
-
答:能
-
-
循环嵌套示例
n = int(input('请输入一个整数:'))
for i in range(n):
for j in range(i+1):
print(j+1, end=' ')
print() -
列表元素排序
-
冒泡排序
lt = [1, 5, 7, 3, 2]
# 冒泡排序:从小到大
# 第一轮:1 5 3 2 7
# 第二轮:1 3 2 5 7
n = len(lt)
# 外层循环控制比较多少轮
for i in range(n-1):
# 内层循环控制元素的比较
for j in range(n-i-1):
if lt[j] > lt[j+1]:
# 通用交换元素
# temp = lt[j]
# lt[j] = lt[j+1]
# lt[j+1] = temp
# python特有的
lt[j], lt[j+1] = lt[j+1], lt[j]
print(lt)-
选择排序
思想:先取出第一个元素,然后依次与后面所有的元素比较,不合适,发生交换。
示例:lt = [3, 5, 2, 8, 6, 4]
第一轮:2, 5, 3, 8, 6, 4
第二轮:2,3,5, 8, 6, 4
第三轮:2,3, 4, 8, 6, 5 -
字符串操作
-
拼接与切割
s = 'I love you more than I can say'
# 按照指定的内容进行切割, 返回一个列表
# sep:指定按照什么内容进行切割
# maxsplit:指定切割次数
# ret = s.split(' ', maxsplit=1)
# ret = s.split()
# 从右边开始切割
ret = s.rsplit(' ', maxsplit=1)
print(ret)
s = 'Hello\nworld'
# 安照换行进行切割
print(s.splitlines())
s = 'I love you more than I can say'
ret = s.split()
# 字符串的拼接
s2 = '*'.join(ret)
print(s2) -
查找统计判断
s = 'Hi buddy, if you have something to say, than say; if you have nothing to say, than go!'
# 子串查找,找到返回首次出现的位置(下标),找不到返回-1
# ret = s.find('good')
# 从后面开始查找
# ret = s.rfind('if')
# 统计次数
# ret = s.count('if')
# 判断是否以指定内容开头
# ret = s.startswith('Hi')
# 判断是否以指定内容结束
ret = s.endswith('go')
print(ret) -
转换及替换
s = 'hello world!'
# 转换为大写
print(s.upper())
# 转换为小写
print(s.lower())
# 大小写转换
print(s.swapcase())
# 首字母大写
print(s.capitalize())
# 每个单词首字母大写
print(s.title())
# 用指定的新内容替换就内容,count待定
print(s.replace('l', 'L')) -
类型判断
s = 'Hello'
# 是否是全大写
print(s.isupper())
# 是否是全小写
print(s.islower())
# 是否每个单词只有首字母大写
print(s.istitle())
# s = '123'
# 是否是全数字
print(s.isdecimal())
# 是否全是字母
print(s.isalpha())
s = '123'
# 是否全是数字或字母
print(s.isalnum())
上一篇: python 装饰器