【零基础学Python】条件语句、循环语句

158 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情


一、条件语句

1.基本语法

条件语句能够表达“如果……,则……,否则……”这样的语义,这构成了代码中的逻辑判定。

条件的逻辑基本上所有编程语言都有,但是Python中的条件判断语法和很多编程语言不同。

  • if后的条件表达式,不需要(),而是用:作为结尾
  • if/else符合条件后执行的代码块,使用缩进(大多数情况下是1个Tab或4个空格),而不是{}
  • 对于多条件分支,用elif,而不是else if

下面给出一个例子,重点关注其语法。

# 用choice接收返回值,即输入的内容
choice = input("输入1表示为真,输入0表示为假\n")

# 注意input返回值是str类型,所以choice要与字符串1比较,而不是数字1比较
if choice == "1":  # 以冒号表示判断式结束
    print("True")
elif choice == '0':  # 用elif而不是else if
    print("False")
else:  # 要加冒号表示结束
    print("无效输入")

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


2.缩进和代码块

先来看一段代码

a = input("输入\n")
if a == '1':
    print("a1")
    print("b1")

if a == "1":
    print('a2')
print("b2")  # 注意这里没有缩进

输入为1时所有print全部运行。

在这里插入图片描述

当输入为0时,只有最后一个print运行,因为a1、b1、a2的打印均要在a为1的条件下;而b2由于行前少一个缩进,所以编译器并不把它当做第二个if条件成立后运行的代码块,也就是说b2无论如何都会打印,因为它不受a的值的影响,不在if条件的代码块内。

在这里插入图片描述

这里和其他C、C++等编程语言差异很大,其它语言的缩进都是软要求,是为了便于阅读代码,而Python中是硬性要求,乱缩进或不缩进会导致程序运行错误或编译报错。


3.空语句pass

当判断条件满足但不需要运行什么时,如果什么都不写编译会报错,这时用pass来占位,可以通过语法检查。

a = input("输入\n")
if a == "1":
    pass
else:
    print("hello")

在这里插入图片描述


二、循环语句

1.while循环

基本语法格式:

while 条件:
	循环体

下面是一个简单的打印1~10的循环。

i = 1
while i <= 10:  # 条件结束后以:结尾
    print(i)
    # i++  # Python不允许这种语法
    i += 1

这里要提一下,Python中不允许i++或++i这样的语法,因为这种语法如果写的过于复杂,那么不仅不便于读者和作者理解,甚至在不同的编译器、不同的环境下结果都会不一样,所以Python禁用这样的语法来避免这些很难处理的问题。


2.for循环

for循环的基本语法格式如下,可以看到和C、C++中的循环差距还是比较大的。

for 循环变量 in 可迭代对象:  # 仍以:结尾
	循环体

所谓的可迭代对象指的是内部包含多个元素,能一个元素一个元素取出来赋值给循环变量的变量,听起来可能比较复杂,请看下面的例子。

for i in range(1, 10):  # range(1, 10)产生1~9的整数
    print(i)

这里的range是Python的内建函数,可以产生一个“可迭代对象”,包含一系列的整数,比如range(begin, end)产生的整数范围是[begin, end),注意这里的范围是左闭右开,结合上面的代码和下面的运行结果也可看出。

在这里插入图片描述

range还提供了第三个参数,表示步长,默认情况下是1,也可自己指定,可以为负值,即产生倒序的整数序列。

for i in range(2, 12, 2):  # 步长为2
    print(i)

在这里插入图片描述


3.continue和break

continue的作用是立即结束本次循环并进入下次循环。

break的作用是立即结束整个循环。

它们的作用与C语言中的相同,再次不再赘述。


感谢阅读,如有错误请批评指正