顺序语句
默认情况下,Python的代码执行顺序是按照从上到下依次执行的。比如:
print('a') # a
print('b') # b
print('c') # c
上述代码的执行结果一定是“abc”,而不会出现“bca”或“cba”等结果,这种按照顺序执行的代码就叫做顺序语句。
条件语句
语法格式
标准格式
条件语句的标准格式如下:
注意事项:
- 条件表达式和else后面使用
:
作为结尾。 - 对于多条件分支,不是写作else if,而是elif。
- 命中条件后要执行的语句块,使用缩进来区分各个代码块。
- Python当中的if语句也支持嵌套。
代码示例:
choice = input('你大学期间认真学习了吗?(输入1表示是,输入0表示否): ')
if choice == '1':
print('你将会考研顺利或找到一个满意的工作!')
elif choice == '0':
print('你将来会为此而后悔!')
else:
print('你的输入有误!')
注意: input函数的返回值是字符串类型。
简写格式
条件语句的简写格式如下:
代码示例:
a = 10
b = 20
# 单行if语句
if a < b: print('a is less than b')
# 单行if else语句(一个条件语句)
print('a') if a < b else print('b')
# 单行if else语句(多个条件语句)
print('a') if a < b else print('=') if a == b else print('b')
代码案例
一、输入一个整数,判定是否是奇数。
代码如下:
a = int(input('请输入一个整数: ')) # 注意将输入的字符串转换成int类型
if a % 2 == 1:
print('这是一个奇数')
else:
print('这是一个偶数')
说明一下: 在C/C++等其他某些语言中,负奇数取余后得到的是-1,但在Python中负奇数取余后得到的是1。
二、输入一个整数,判定是正数还是负数
代码如下:
a = int(input('请输入一个整数: '))
if a > 0:
print('正数')
elif a < 0:
print('负数')
else:
print('0')
三、判定年份是否是闰年
代码如下:
year = int(input('请输入一个年份: '))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('闰年')
else:
print('平年')
缩进和代码块
Python中使用缩进来表示不同的代码块,不同级别的缩进,程序的执行效果是不同的。比如:
# 代码1
num = input('请输入一个整数: ')
if num == '1':
print('hello')
print('world')
# 代码2
num = input('请输入一个整数: ')
if num == '1':
print('hello')
print('world')
代码说明:
- 代码1中的两条打印语句都具有一级缩进,因此都属于if内的代码块。
- 代码2中只有第一条打印语句具有一级缩进,第二条打印语句没有缩进,因此只有第一条打印语句属于if内的代码块。
空语句pass
Python语法规定,if语句、while语句、for语句、函数体、类定义等都不能为空,如果因为某些原因写了对应无内容的语句,就需要使用pass语句来避免语法报错。比如:
if a < b:
pass
while a < b:
pass
for x in range(10):
pass
def func():
pass
class MyClass:
pass
注意: 空语句pass并不会对程序的执行有任何影响,只是占个位置,保持Python语法格式符合要求。
循环语句
while循环
语法格式
while循环语句的语法格式如下:
注意事项:
- 在条件表达式和else后面使用
:
作为结尾。 - 命中条件后要执行的语句块,使用缩进来区分各个代码块。
- Python当中的while循环也支持嵌套。
- 在循环体当中使用break语句,可以跳出循环。
- 在循环体当中使用continue语句,可以停止当前的迭代,并继续下一次迭代。
- 如果使用了else语句,那么当循环条件不再成立时,会执行一次else代码块。
代码案例
一、打印1 - 10的整数
代码如下:
num = 1
while num <= 10:
print(num)
num += 1
二、计算1 - 100的和
代码如下:
sum = 0
num = 1
while num <= 100:
sum += num
num += 1
print(f'sum = {sum}') # 5050
三、计算5的阶乘
代码如下:
result = 1
num = 5
while num >= 1:
result *= num
num -= 1
print(f'result = {result}') # 120
四、求1! + 2! + 3! + 4! + 5!
代码如下:
sum = 0
num = 1
while num <= 5:
factorResult = 1
i = 1
# 计算num的阶乘
while i <= num:
factorResult *= i
i += 1
sum += factorResult # 将num的阶乘累加到sum中
num += 1
print(f'sum = {sum}') # 153
for循环
语法格式
语法格式
for循环语句的语法格式如下:
注意事项:
- 可迭代对象包括列表、元组、字典、集合、字符串等。
- 在可迭代对象和else后面使用
:
作为结尾。 - 命中条件后要执行的语句块,使用缩进来区分各个代码块。
- Python当中的for循环也支持嵌套。
- 在循环体当中使用break语句,可以跳出循环。
- 在循环体当中使用continue语句,可以停止当前的迭代,并继续下一次迭代。
- 如果使用了else语句,那么当循环条件不再成立时,会执行一次else代码块。
range函数
range函数经常和for循环搭配使用,其可以返回一个数字序列(可迭代对象)。
参数说明:
- 第一个参数代表的是数字序列的起始值,默认为0。
- 第二个参数代表的是数字序列的结束值(不包括结束值)。
- 第三个参数代表的是数字序列的增量值(步长),默认为1。
range函数的三种使用方式:
- range(end):返回的数字序列为1,2,3,…,end-1。
- range(start, end):返回的数字序列为start,start+1,start+2,…,end-1。
- range(start, end, step):返回的数字序列为start,start+step,start+2 × \times ×step,…,start+n × \times ×step。
对于range函数的第三种使用方式,如果step的值为正数,那么start+n × \times ×step < end,如果step的值为负数,那么start+n × \times ×step > end。
示例:
range(10) # 0,1,2,3,4,5,6,7,8,9
range(1, 10) # 1,2,3,4,5,6,7,8,9
range(1, 10, 2) # 1,3,5,7,9
range(10, 1, -2) # 10,8,6,4,2
代码案例
一、打印1 - 10的整数
代码如下:
for i in range(1, 11):
print(i)
二、打印2,4,6,8,10
代码如下:
for i in range(2, 12, 2):
print(i)
三、打印10 - 1的整数
代码如下:
for i in range(10, 0, -1):
print(i)
四、求1 - 100的和
代码如下:
sum= 0
for i in range(1, 101):
sum+= i
print(f'sum = {sum}') # 5050