一、三大控制结构
-
顺序结构:代码按上下文的顺序执行,逐行执行
-
选择结构
- 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:
pass
或
while 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)
侵权请留言