2.python的控制循环

一、三大控制结构

  • 顺序结构:代码按上下文的顺序执行,逐行执行

  • 选择结构

    • if选择结构 – 条件为真则执行代码块,否则什么也不做
    • if/else – 二选一结构
    • if/elif/elif/else 多选一
  • 循环结构:重复执行某个代码块

    • for循环
    • while循环

二、选择结构

  • 简单的if语言
1. 基本形式
   if 条件表达式:
      语句/代码块
      
2. 例子
	x = 3
	y = 2
	if x > y :
		print("666")
  • if/else 二选一结构
a = int(input('请输入:'))
b = int(input('请输入:'))  # ctrl + D 复制光标所在的行
if a > b:
    print("最大值为:", a)
else:
    print("最大值为:", b)
  • if/elif/elif/elif …else
msg = "您好,欢迎致电中国联通客户服务热线....."
print(msg)
number = int(input("请选择:"))

# 全部使用if判断  效率低
# if number == 1:
#     print("您选择了话费查询")
# if number == 2:
#     print("您选择了流量查询")
# if number == 3:
#     print("您选择了业务咨询")


if number == 1:
    print("您选择了话费查询")
elif number == 2:
    print("您选择了流量查询")
elif number == 3:
    print("您选择了业务咨询")
else:
    print("输入错误")

三、语句和缩进

1、语句

在代码中,能够表达某个意思、操作、逻辑的短代码,称之语句
print("abc")  # 一条语句   在python 一条语句结束时不需要加分号
# C语言   printf("abc");  分号是语句结束的标志
a = 3 
b = 5
s = a * b
print(s)
a = 3
b = 5
c = 8
# 有折行时 需要加转义字符 \
x = a + \  
    b + \
    c

2、代码块

if 3 > 2:
    print("哟,数学不错哦!!!")
    print("end!")

在C语言中通过{}来确定代码块:

if (3 > 2){
    
    
    printf("哟,数学不错哦!!!")
    printf("end!")
}

3、缩进

建议缩进使用tab键

if 3 > 2:
    print("哟,数学不错哦!!!")
  print("end!")   # 错误的 

# IndentationError: unexpected indent 缩进错误

4、pass语句

pass语句是一个点位语句,if 、while、for、函数中不知道代码怎么实现,或者需要以后再去实现时,可以先加一个pass语句,目的是不让代码报错

def f():
    pass 

四、循环结构

循环:满足某个条件时,重复执行某个代码块,被执行的代码块也称为循环体

  • for循环

基本语法:

for 变量名 in 序列/可迭代对象:
	循环体代码(可以有多行)
for i in 'helloworld':
    print(i)     # h    e    l    l .....
    
for i in [2,4,6,8,22]:
    print(i)      

基本用法二:

for 变量名  in  range(start,end,[,step])  # step参数可选
	语句
for i in range(0,10):
    print(i)    # 0 1 2 3 4 5 6 7 8 9
  • Python中range()函数的详细用法:
    • range(0,10) 表示是一个0-9区间范围内的整数 是一个左闭右开的区间
    • range(10) 表示默认从0开始,到10-1 (stop-1)
    • range(0,10,2)第三个参数的默认为1 步长 上楼梯
    • range(10,1,-1) 下楼梯 从10开始,到2
# 0-100以内的所有的偶数
for i in range(0,101,2):
    print(i,end=" ")


# 0-100以内的所有的偶数 不使用步长
for i in range(100):
    if i%2 == 0:
        print(i)
  • Python3中range()返回的是一个可迭代对象 – 可以循环
  • Python2中range()返回的是一个列表 range(1,5)-> [1,2,3,4]

计数器:

counter = 1 # 计数器
for i in [2,4,6,8,22]:
    print('第'+str(counter)+'个值为'+str(i))
    counter += 1

C++语言:

for (int i=0;i<5;i++){
    //循环体代码
}
  • while循环

基本形式:

while 条件表达式(bool):   
	代码块
while 3 > 2:
    print("哈哈哈哈")
# 写一个死循环
while True:
    passwhile 1:
    pass 

# Python3中while 1和 while True是等价 

栗子: # 从键盘输入一个整数,逆序输出每一位数,并计算各位数之和

12345 -> 54321 15


```python
number = int(input('请输入一个整数:'))
n = number
sum = 0
while n:
    left = n % 10
    sum += left
    print(left,end='')
    n = n // 10

print()
print(str(number)+"的各位数之和为:"+str(sum))

五、break和continue

1、break语句

counter = 1
while 1:
    if counter <= 100:
        print('哈哈')
        counter += 1
    else:
        break   # 终止循环-break所在循环

注意:

  • 如果有多层循环,则break只会跳出当前在所在这一层
  • break只能用在循环中,一般是满足某个条件时来使用break

求n的阶乘

从键盘输入一个数,求这个数的阶乘

number = int(input('请输入一个整数:'))
n = number
result = 1
while 1:
    result *= n
    n -= 1
    if n == 1:
        break
print(str(number) + '的阶乘为:'+str(result))

2、continue

continue用于循环体内部,作用是结束(跳过)本次循环,继续下一次循环

for l in 'Python':
    if l == 'y':
        continue  # 遇到continue 结束本次循环 后面不再执行 继续下一次的循环
    print('当前字母为:', l)

六、循环嵌套

内层的循环走的快,内层循环整个走完一次,外层循环加1

for i in range(0, 10):
    for j in range(0, 10):
        print(i, j, end=',')  
    print()
# 实现99乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(j,"*",i,"=",i*j,end=' ')
    print()

七、作用域泄露

a = int(input('请输入:'))
b = int(input('请输入:'))
if a > b:
    max = a 
else:
    max = b
print(max)  

侵权请留言
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_54730385/article/details/113987182