Python 基础教程【2】:条件语句和循环语句
文章目录
- 1、流程控制语句
- 1.1 顺序语句
- 1.2 条件语句
- 1.2.1 if语句注意事项
- 1.2.2 三元运算符
- 1.2.3 自动类型转换
- 1.3 循环语句
- 1.3.1 while 循环
- 1.3.2 for-in 循环
- 1.3.3 for...else 循环
- 1.3.4 break 和 continue 的区别
- 2、实践——猜数字游戏
1、流程控制语句
1.1 顺序语句
默认情况下,Python的代码执行顺序是按照从上而下的顺序,依次执行的
1.2 条件语句
条件语句也叫做 “分支语句”
使用 if else 关键字表示条件语句
'''
if语句的格式:
if 条件:
条件成立要执行的语句
if 条件:
条件成立要执行的语句
else:
条件不成立要执行的语句
if 条件1:
条件1成立要执行的语句
elif 条件2:
条件2成立要执行的语句
else:
条件1,2不成立要执行的语句
'''
1.2.1 if语句注意事项
Python中的条件语句写法,和很多编程语言不太一样
- if 后面的条件表达式,没有(),而是使用
:
结尾 - if/else 中条件后要执行的“语句块”,使用缩进(通常是4个空格或者一个tab)来表示, 而不是{}
- 对于多条件分支,不是写作 else if,而是 elif(合体了)
1.2.2 三元运算符
变量 = 值1 if 条件 else 值2
当条件成立时,把值1赋值给变量,条件不成立时,把值2赋值给变量
1.2.3 自动类型转换
if 语句需要一个判断条件,这个判断条件的结果需要一个布尔值,如果此时输入的判断条件不是一个布尔值,在代码执行的过程中,会将这个值 自动转换 成为一个布尔值
在 Python 中,转换为 布尔值时,只有 0
、""
、''
、None
、()
、{}
、[]
会被转换成 False
,其他都会转换成 True
1.3 循环语句
循环结构就是程序中控制某条或某些指令重复执行的结构。在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环
1.3.1 while 循环
条件为真,则执行循环体代码
条件为假,则结束循环
'''
while 条件:
要循环执行的代码
'''
练习:
打印 1-10 的数字
i = 1
while i <= 10:
print(i)
i = i + 1
打印 1-50 之间能被3整除的数字
n = 1
while n <= 50:
if n % 3 == 0:
print(n)
n += 1
1.3.2 for-in 循环
for 循环变量 in 可迭代对象
循环体
注意:
- Python 的 for 和其他语言不同,没有 “初始化语句”,“循环条件判定语句”,“循环变量更新语句”,而是更加简单
- 所谓 “可迭代对象”,指的是内部包含多个元素,能一个一个把元素取出来的特殊变量
练习:
打印1~10
for i in range(1, 11):
print(i)
- 使用 range 函数,能够生成一个可迭代对象,生成的范围是[1,11),也就是[1,10]
- rang 函数还提供了 第三个参数表示 “步长”,默认的步长值是 1
- rang(n) :默认从0开始取值到n-1结束
打印 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.3.3 for…else 循环
'''
for i in range(n):
循环体
else:
如果上面的for循环 0~n-1 没有出现中断(break),
执行else
'''
1.3.4 break 和 continue 的区别
break: 终止它所在的那个循环
continue: 结束本次循环,进入下一轮循环
2、实践——猜数字游戏
import random
answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('请输入: '))
if number < answer:
print('大一点')
elif number > answer:
print('小一点')
else:
print('恭喜你猜对了!')
break
print('你总共猜了%d次' % counter)
if counter > 7:
print('你要加油嗷~')
代码说明:
使用 random 函数中的 randint 方法 随机生成一个1~100的整数(包含1和100)
使用一个 while 循环, 支持用户多次从键盘输入数字,使用 if…elif…else 分支语句, 对用户输入的数字与程序提前随机生成的数字进行大小比较
使用 counter 这个变量记录用户输入次数