分支语句
条件语句
(1)if
语法格式:
if expression:
do_something1
do_something2
next_something
如果expression值为True,则执行do_something1, do_something2,next_something
如果expression值为False,则只执行next_something
(2)if-else
语法格式:
if expression:
do_something1
else:
do_something2
如果expression值为True,则执行do_something1,如果expression值为False,则执行do_something2
(3)if-elif-else
语法格式:
if expression1:
do_something1
elif expression2:
do_something2
else:
do_something3
注意:
- if后面的条件表达式,没有(),而且表达式以:作为结尾
- if/else命中条件后要执行的“语句块”,使用缩进(通常是4个空格或者一个tab)来表示,而不是{}
- 对于多条件分支,不是写作else if,而是elif(简写)
缩进和代码块
代码块指的是一组放在一起执行的代码,在Python中使用缩进表示代码块,不同级别的缩进,程序的执行效果是不同的:
在代码1中,print('world')有一级缩进,这个语句属于if内的代码块,意为条件成立,才执行,条件不成立,则不执行;在代码2中,print('韩梅梅')没有缩进,这个语句是if外部的代码,不属于if内部的代码块,意味着条件成立与否都会执行。
空语句pass
a = int(input('请输入一个整数: '))
if a!=1:
pass
else:
print('hello')
pass表示空语句,并不会对程序的执行造成任何影响,只是占个位置,保持Python语法格式符合要求
while循环
语法格式:
while 条件:
循环体
例如计算1-100的和:
sum = 0
num = 1
while num<=100:
sum += num
num += 1
print(sum)
计算1!+2!+3!+4!+5!
n = 1
total = 0
while n <= 5:
temp = 1
i = 1
while i <= n:
temp *= i
i += 1
total += temp
n += 1
print(total)
for循环
语法格式:
for 循环体 in 可迭代对象:
循环体
可迭代对象指的是:内不包含多个元素,能一个一个把元素取出来的特殊变量
例如计算1-100的和:
ret = 0
for n in range(1,101):
ret += n
print(ret)
使用range函数,能够生成一个可迭代对象,生成的范围是[1,101),也就是[1,100]
例如:打印2,4,6,8,10
for i in range(2,11,2):
print(i)
range的第三个参数可以指定迭代时候的“步长”,也就是一次让循环变量加几,如果第三个参数为负数,则表示一次让循环减几
例如打印10-1:
for i in range(10,0,-1)
print(i)
函数
语法格式:
def 函数名(形参列表):
函数体
return 返回值
例如:分别输出1-100的和、200-300的和、1-1000的和
def sum(beg,end):
ret = 0
for i in range (beg,end+1):
ret += i
return ret
print(f'1-100的和: {sum(1,100)}')
print(f'200-300的和: {sum(200,300)}')
print(f'1-1000的和: {sum(1,1000)}')
调用函数/使用函数
函数名(实参列表) //不考虑返回值
返回值 = 函数名(实参列表) //考虑返回值
注意:函数必须先定义,再使用
函数的形参:在Python中一个函数可以支持不同类型的参数,它的形参类型可以变化
def test(date):
print(date)
test(10)
test('hello')
test(True)
一个函数是可以一次返回多个返回值的,使用,来分隔多个返回值
def getPoint():
x = 20
y = 10
return x,y
a,b = getPoint()
print(a,b)
如果只想关注其中的部分返回值,可以使用_来忽略不想要的返回值。
def getPoint():
x = 20
y = 10
return x,y
_,b = getPoint()
print(b)
如果是现在函数内部,修改全局变量的值,需要使用global关键字声明
x = 20
def test():
global x
x = 10
print(f'函数内部 x = {x}')
test()
print(f'函数外部 x = {x}')
if/where/for等语句块不会影响到变量作用域,也就是说在if/where/for中定义的变量,在语句外面也可以正常使用: