zoukankan      html  css  js  c++  java
  • python之控制流

    控制流分为顺序,分支,循环。

    1. 顺序结构

    我们平时写的从上到下就是顺序结构,这个最常见。

    2. 分支结构

    1. if

    当if后的条件为真时,执行if语句

    2. if ... else

    当if的条件不为真时,执行else语句

    3.if... elif...elif..else

    if语句为真,执行if语句,之后的语句不执行。if语句不为真,看elif语句是否为真,为真执行;不为真看下一个elif。都不为真执行else语句。

     1 #!/usr/bin/python3
     2 # -*- coding: utf-8 -*-
     3 # @Time     :2018/11/26 13:58
     4 # @Author   :yosef
     5 # @Email    :wurz529@foxmail.com
     6 # @File:    :class7.py
     7 # @Software :PyCharm Community Edition
     8 number = 23
     9 guees = int(input("请输入一个整数:"))
    10 if number == guees:
    11     print("恭喜你猜对啦")
    12 elif number > guees:
    13     print("抱歉,猜小了")
    14 else:
    15     print("抱歉,猜大了")

    3. 循环结构

    循环条件为真时,会执行循环条件下的语句。否则结束循环

    1. for循环

     for循环可以用来遍历字符串,元组,列表,字典的key,value。

     1 #!/usr/bin/python3
     2 # -*- coding: utf-8 -*-
     3 # @Time     :2018/11/26 14:11
     4 # @Author   :yosef
     5 # @Email    :wurz529@foxmail.com
     6 # @File:    :class8.py
     7 # @Software :PyCharm Community Edition
     8 str1 = "python is the best"
     9 list1 = [1, 1.36, 'a', 'python', (1,), [1, 2], {'age': 18}]
    10 tuple1 = (1, 1.36, 'a', 'python', (1,), [1, 2], {'age': 18})
    11 dict1 = {"Name": "yosef",
    12          "Sex": "man",
    13          "Age": 22,
    14          "City": "Shanghai"}
    15 for a in str1:
    16     print(a, end=" ")
    17 print("
    ")
    18 for b in list1:
    19     print(b, end=" ")
    20 print("
    ")
    21 for c in tuple1:
    22     print(c, end=" ")
    23 print("
    ")
    24 for d in dict1.values():
    25     print(d, end=" ")
    26 print("
    ")
    27 for e in dict1.keys():
    28     print(e, end=" ")
    29 print("
    ")

    运行结果:

    range函数:

    range函数的结果是序列

    range(m,n,k)  在[m,n)中,步长为k的整数序列

    range(m,n)  在[m,n)中,步长为1的整数序列

    range(m) 在[0,m)中,步长为1的整数序列

     1 #!/usr/bin/python3
     2 # -*- coding: utf-8 -*-
     3 # @Time     :2018/11/26 14:48
     4 # @Author   :yosef
     5 # @Email    :wurz529@foxmail.com
     6 # @File:    :class9.py
     7 # @Software :PyCharm Community Edition
     8 for a in range(2, 8, 2):
     9     print(a, end=" ")
    10 print("
    ")
    11 for i in range(1,9):
    12     print(i, end=" ")
    13 print("
    ")
    14 for j in range(10):
    15     print(j, end=" ")

    结果:

    for + range

    1 list1 = [1, 1.36, 'a', 'python', (1,), [1, 2], {'age': 18}]
    2 for item in range(len(list1)):
    3     print(list1[item], end=" ")

    结果:

    嵌套for循环

    1 list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    2 for i in range(len(list1)):
    3     for j in range(len(list1[i])):
    4         print(list1[i][j], end=" ")

    2. while循环

     while循环当条件为真时,会执行代码,为假时退出代码循环。

    3. while循环结合continue,break

     break可以打破循环。常用于循环语句,强制循环停止,然后退出循环。

    continue强制停止循环中此次执行,跳到下一次执行。

     1 #!/usr/bin/python3
     2 # -*- coding: utf-8 -*-
     3 # @Time     :2018/11/26 15:20
     4 # @Author   :yosef
     5 # @Email    :wurz529@foxmail.com
     6 # @File:    :class11.py
     7 # @Software :PyCharm Community Edition
     8 number = 56
     9 while True:
    10     guees = int(input("请输入一个整数:"))
    11     if number == guees:
    12         print("恭喜你猜对啦")
    13         break
    14     elif number > guees:
    15         print("抱歉,猜小了")
    16         continue
    17     else:
    18         print("抱歉,猜大了")
    19         continue

    break就是直接跳出该层循环
    continue就是直接进入该层循环的下一次迭代.

  • 相关阅读:
    机器学习:SVM(核函数、高斯核函数RBF)
    机器学习:SVM(非线性数据分类:SVM中使用多项式特征和核函数SVC)
    LeetCode566. Reshape the Matrix
    LeetCode 128. Longest Consecutive Sequence
    # 线程安全 & 线程安全函数 & 线程不安全函数
    Linux进程状态
    C++ 4种强制类型转换
    TCP超时重传、滑动窗口、拥塞控制、快重传和快恢复
    LeetCode 69. Sqrt(x)
    LeetCode543. Diameter of Binary Tree
  • 原文地址:https://www.cnblogs.com/wlyhy/p/10020589.html
Copyright © 2011-2022 走看看