一、if 判断语句
1. 单分支
基本的语法格式:
if 条件语句: # 注意这里必须以英文的冒号结束
条件语句为真时,执行的语句
n = input("输入数字>>:")
n = int(n) # input 接收到的数据,都是字符串类型
if n == 5:
print('相等')
n = input("输入数字>>:")
n = int(n)
if n == 5:
print('相等')
else: # else 后边必须有英文的冒号
print('No')
2. 多分支
基本语法
if 条件语句: # 注意这里必须以英文的冒号结束
条件语句为真时,执行的语句
elif 条件语句:
条件语句为真时,执行的语句
else:
前面的条件都为假,则执行此语句
elif
可以有多个
n = input("输入数字>>:")
# 必须输入数字来测试
n = int(n)
if n == 5:
print('ok')
elif n > 5:
print('大了')
else:
print('小了')
3. 嵌套
n = input("输入数字>>:")
# n.isdigit() 用于判断 n 的值是否全部都是纯数字,
# 全部是数字才能使用 int() 转换, 比如: int("123") 可以转成 123
if n.isdigit():
f_n = int(n)
if f_n == 5:
print('ok')
elif f_n > 5:
print('大了')
else:
print('小了')
else:
print('请输入数字')
二、while 循环
基本语法
while 条件表达式:
条件表达式为真,则这些这里的语句
冒号
:
是必须的 缩进也是必须的
示例:
while True:
n = input("输入数字>>:")
n = int(n)
if n == 5:
print('相等')
break
elif n > 5:
print('大了')
else:
print('小了')
假设上面的小游戏,只能玩 3 次,如何处理?
m = 1
while m <= 3:
m += 1
n = input("输入数字>>:")
n = int(n)
if n == 5:
print('相等')
break
elif n > 5:
print('大了')
else:
print('小了')
三、 for 循环
1. 基本语法
for 变量名 in 被循环的对象:
循环体
变量名是自定义的 被循环的对象也称为 可迭代对象 可迭代对象: - 字符串
'lenovo'
- 列表[1, 2, 'lenovo']
- 元组(1, 2, 'lenovo')
- 集合{1, 2 'lenovo'}
2. 循环字符串对象
>>> s = 'shark'
>>>
>>> for i in s:
... print(i)
...
s
h
a
r
k
>>>
3. range()
产生一个可被循环的整数序列,默认序列的元素从 0
开始.
用法:
range(开始索引号, 结束索引号, 步长)
>>> for i in range(3):
... print(i)
...
0
1
2
>>> for i in range(1, 3):
... print(i)
...
1
2
>>> for i in range(1, 10, 2):
... print(i)
...
1
3
5
7
9
>>>
py2 和 py3 的 range 有区别
python3
>>> range(3)
range(0, 3)
python2.x
>>> range(3)
[0, 1, 2]
4. break 和 continue
-
continue
当循环体中执行了continue
,循环体内剩余的代码就不在被执行了,就会进入下一次循环。 -
break
当循环体中执行了break
,整个循环就不在执行了
for i in range(2, 10, 2):
print("循环到", i)
if i == 4:
continue
print(i)
if i == 6:
break
range(开始索引号:结束索引号:步长)
猜数游戏升级版
for i in range(0, 10):
print(i)
if i < 3:
inp_num = int(input(">>:").strip())
# inp_num = int(inp_num)
if inp_num == 15:
print('You get it')
break
elif inp_num > 15:
print("高了")
else:
print("低了")
else:
print("Game over")
break
四、 for … else
•1. 当 for 循环体正常执行完毕时,再执行一下 else 后面的代码
•2. 当 执行了 break 后,就不再执行 else 后面的代码了
for i in range(20):
if i == 10:
print('get it')
n = i
break
else:
print("Nothing")
while … else 也是同样的道理
小练习
猜数游戏
要求:
- 提示用户输入一个数字 inp = input()
- 判断用户输入的值是否等于 18 == inp
- 允许用户尝试 3 次
- 假如 3 次机会都没有猜对,就再次提示用户是否继续
- 用户输出
y
,就再给 3 次机会。 输入n
则退出游戏
提示: 可以使用一个默认的变量