Python顺序、条件和循环

顺序语句

默认情况下,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
  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2021dragon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值