while循环,while循环的使用if的基本相同,在while之后使用表达式,如果表达式为真,就会反复执行while循环代码块的作用域,每执行完一次就重新判断while的表达式,真就重复上述步骤,直到表达式为假才会跳出;如果一开始就是假,直接跳过
只要while循环的条件表达式一直为真,相应的作用域就会一直执行,无法跳出,形成死循环。死循环时循环无法跳出,循环语句之后的代码也不会执行
- while True :
- print('死循环')
- print('跳出循环')
- 案例
-
- print("开始")
- num = 1
- while num < 3:
- print("1111")
- num = 5
- print("结束")
-
-
- 运行结果:
- 开始
- 1111
- 结束
为了控制循环的流,或者根据一些指定的条件改变执行,在Python中有三个控制语句
Break语句用于终止包含它的循环的执行。只要循环遇到Break语句,循环就会终止,并且执行转移到循环后面的下一条语句
- i = 0
- while i < 101:
- print(i)
- i += 1
- if i == 101:
- break
- else:
- print("结束")
- print("___结束")
-
-
- 运行结果:
- 100
- ___结束
continue用于跳过当前迭代循环中代码的循环。它不会像BREAK语句那样终止循环,而是继续进行剩余的迭代
- i = 1
- while i < 6:
- print(i)
- if i == 3 :
- continue
- i += 1
pass语法为空操作。这基本上意味着语句在语法上是必需的,但是您不希望执行任何命令或代码
while 让程序处于一直执行的状态 while True
for 打印数值 循环打印数据 整数好字符串
- # 单个整数不是一个可迭代的对象
- a = (1,2,3,4,5,8)
- print(type(a))
- for i in a:
- print(i)
- 结果:
-
- <class 'tuple'>
- 1
- 2
- 3
- 4
- 5
- 8
- """
- range()函数 作用生成一组数字列表,指定数字生成
- range()函数 start 开始 默认从0 开始,可以不指定 ;stop 结束 指定数值,取值只取到停止的前一位;step 步长
- """
- sum = 0
- num = 0
- for a in range(1,101):
- if a % 2 == 0:
- print(f"偶数{a}")
- sum = sum + a
- else:
- print(f"奇数{a}")
- num = num + a
- print(f"1到100中间的偶数和为{sum}")
- print(f"1到100中间的奇数和为{num}")
- print(f"总共{sum + num}")
- 结果:
-
- .....
- ..
- 奇数97
- 偶数98
- 奇数99
- 偶数100
- 1到100中间的偶数和为2550
- 1到100中间的奇数和为2500
- 总共5050
-
- ——————————————————————————————————
- # 通过for 循环实现阶乘
- number = int(input("输入大于0的整数:"))
- sum = 1
- for i in range(1, number + 1):
- sum = sum * i
- print(f"阶乘结果为:{sum}")
- 结果:
-
- 输入大于0的整数:10
- 阶乘结果为:3628800
- # 降序打印,索引支持负数索引
- for i in range(6,1,-1):
- print(i)
- 结果:
-
- 6
- 5
- 4
- 3
- 2
占位符的主要作用是用来进行参数的传递
%s :格式化字符串、字符串占位符 S = String
意思是%作为一个替代或是占位符,把name的变量值替换%s
- name = "server"
- lober = "python"
- print("%s 喜欢 %s!"%(name,lober))
-
-
- 运行结果;
- server 喜欢 python!
%d:整型,正数占位符
- data = "北京%s,在%d区"
- data1 = data % ("市",20)
- print(data1)
-
- 运行结果:
-
- 北京市,在20区
%f:浮点型,浮点数占位符
%.xf:可以精确到小数点后 x 位
- π = 3.1415926
- print("圆周率(%.2f)" % (π))
-
- 运行结果:
- 圆周率(3.14)
format 格式化 单个参数可以多次输出,参数顺序可以不同,填充方式十分灵活,对齐方式十分强大运用广泛
- print("...{key1}""...{key2}...,".format(key1=7, key2=2))
- # 填充对齐
- # 先取值,在冒号后指定填充格式:{索引}
- # 左对齐 *< 20 总共20给字符;不够就使用*号进行填充
- print("{0:*<20}".format("hello python"))
- # 右对齐 * > 20 总共20给字符;不够就使用*号进行填充
- print("{0:*>20}".format("hello python"))
-
- 结果:
-
- ...7...2...,
- hello python********
- ********hello python
- # 居中对齐 ^20: 居中显示,总共20个字符,不够用*填充
- print("{0:*^20}".format("hello python"))
- 结果:
-
- ****hello python****
- # 位数与进制转换
- # 保留有效数字
- print("{0:.2f}".format(3.1415926))
- # 转换为二进制 b
- print("{0:b}".format(16))
- # 转换为八进制 o
- print("{0:o}".format(15))
- # 转换为十六进制 x
- print("{0:x}".format(15))
- 结果:
-
- 3.14
- 10000
- 17
- f
字符串前面加上 “f”,{}直接使用变量,表达式
- name = "小刘"
- age = 29
- width = 124.4
- # 在{}直接使用变量
- print(f"my name is {name},my age is {age},{width}")
-
- # 使用表达式
- print(f"{1 + 2 <= 3}")
-
- # {} 调用 python内置函数
- print(f"{name.upper()}")
- 结果:
-
- my name is 小刘,my age is 29,124.4
- True
- 小刘