流程控制
if
- python 的语法结构与其他语言差别很大。python 完全是靠缩进来组织代码结构。
if、elif、else
代码行结束的时候要使用:
- 如果
if
后面的条件是False
,则会判断紧接着的elif
的条件,如果是True
则执行代码块2。否则就继续判断后面的条件。 - 条件理论上可以是任意类型的,
False、0、[]、{}、()、""、None
当做False
来用,其余做True
来用。 但是在使用的时候最好直接用True 或 False
#测试BMI
height1 = input("输入身高(单位cm)")
weight1 = input("输入体重(单位kg)")
def BMI(height,weight):
B = int(weight)/((int(height)/100)**2)
print("BMI:",B)
if B<18.5:
print("过轻")
elif 18.5<=B<25:
print("正常")
elif 25<=B<28:
print("过重")
elif 28<=B<32:
print("肥胖")
elif B>=32:
print("过于肥胖")
BMI(height1,weight1)
扩展: Pyhthon中的三目运算符
num1 = int(input('请输入第一个数字:'))
num2 = int(input('请输入第二个数字:'))
num3 = int(input('请输入第三个数字:'))
max_num = 0
max_num = num1 if num1 > num2 else num2
max_num = num3 if num3 > max_num else max_num
print(max_num)
while
while 循环语法:
while 条件:
#循环体
else:
#条件为 False 时执行
说明:
-
while
的条件与if
的条件是一样的。 -
执行流程:先判断
while
后的条件,如果是True
则开始执行循环体,执行完毕后,再去判断 条件,如果True
继续执行循环体... -
while
中的else
是可选的。这和其他语言的很大的区别,其他的语言中while
中没有else
。 当while
中的条件为False
时,开始执行else
中语句。 -
如果提供了
else
语句,则else
语句一定执行。除非你是通过break
语句退出的循环。
for..in
for x in nums:
//循环体
说明:
-
x
遍历到的序列中的元素。在循环体内当做普通的变量使用即可。 -
nums
是序列对象。 -
for...in...
循环会自动的迭代序列中的每一个元素,一直遍历到序列中的最后一个元素。我们不需要担心会出现越界的问题。 -
for...in...
解放了我们对循环变量的控制,让我们可以只关注循环体内的业务逻辑即可。
==可以遍历字符串/列表/元组/..==
1. 有序集合:list,tuple,str和unicode; 2. 无序集合:set 3. 无序集合并且具有 key-value 对:dict
for...in..循环的进一步研(折)究(腾)
range()
配合for..in..可以帮我们实现一个这样的序列
for i in range(100):
print(i, end="\t")
if i > 0 and (i + 1) % 15 == 0:
print()
实现解包
nums = [
(10, 20, 30),
(20, 30, 50),
(100, 200, 300)
]
for x, y, z in nums:
print('%d %d %d' % (x, y, z))
break和continue
break
在循环中,break
语句可以提前退出循环。
continue
在循环过程中,也可以通过continue
语句,跳过当前的这次循环,直接开始下一次循环。
网友评论