2_流程控制

2017-08-15  本文已影响0人  SEELE7

流程控制

if

  1. python 的语法结构与其他语言差别很大。python 完全是靠缩进来组织代码结构。 if、elif、else 代码行结束的时候要使用 :
  2. 如果 if 后面的条件是 False ,则会判断紧接着的 elif 的条件,如果是 True 则执行代码块2。否则就继续判断后面的条件。
  3. 条件理论上可以是任意类型的,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 时执行

说明:

  1. while 的条件与 if 的条件是一样的。

  2. 执行流程:先判断 while 后的条件,如果是 True 则开始执行循环体,执行完毕后,再去判断 条件,如果True 继续执行循环体...

  3. while 中的 else 是可选的。这和其他语言的很大的区别,其他的语言中 while 中没有 else。 当 while 中的条件为 False 时,开始执行 else 中语句。

  4. 如果提供了 else 语句,则 else 语句一定执行。除非你是通过 break 语句退出的循环。

for..in

for x in nums:
    //循环体

说明:

  1. x遍历到的序列中的元素。在循环体内当做普通的变量使用即可。
  2. nums序列对象
  3. for...in...循环会自动的迭代序列中的每一个元素,一直遍历到序列中的最后一个元素。我们不需要担心会出现越界的问题。
  4. 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语句,跳过当前的这次循环,直接开始下一次循环。

上一篇 下一篇

猜你喜欢

热点阅读