• 分支与循环


    1.判断数据类型:isinstance

    语法:

    1.1用法一:

    isinstance(要判断的值,要判断的类型) 返回True或者False

    res=isinstance('abc',str)

    1.2用法二:

    isinstance(要判断的值,(可能的类型1,可能的类型2,可能的类型3))如果有一个类型满足,返回的是True 否则 返回False

    isinstance(5,(int,float,bool,str,set,tuple,dict)

    2.代码块

    以冒号开始,用缩进来划分作用域(作用的区域,范围),且要么全是一个tab缩进,要么全是4个空格,不能混合使用

    if 10==10:

      print(1)

      print(2)

      print(3)

    3.三大结构之顺序结构:默认代码依次从上到下执行

    4.三大结构之分支结构:(单项分支,双项分支,多项分支,巢状分支)

    4.1单项分支:

    语法:

    if 条件表达式:

      code1

      code2

    当条件表达式成立,返回True,执行相应的代码,反之不执行;

    4.2双项分支:

    语法:

    if 条件表达式:

      code1

      code2

    else:

      code3

      code4

    当条件表达式成立,执行if对应的代码块(也叫真区间);如果条件表达式不成立,则执行else相对应的代码块(也叫假区间);

    #input等待用户输入字符串,接受的数据默认是字符串

    name=input("输入您的姓名:")

    网站登录:

    username=input("输入您的姓名:")

    password=input("输入您的登录密码:")

    if username=='admin' and password=='000':

      print('登录成功~')

    else:

      print('登录失败~')

    4.3多项分支:

    语法:

    if 条件表达式1:

      code1

      code2

    elif 条件表达式2:

      code3

      code4

    elif 条件表达式3:

      code5

      code6

    else:

      code

    是在众多条件表达式中依次向下选一个进行执行,如果条件表达式1成立,则返回True执行对应的代码块,反之向下执行,如果条件表达式2成立则返回True,执行对应的代码块,反之向下执行...直到最后,所有条件表达式都不成立,则执行else这个分支的代码块.

    #elif可以出现多次或者0次;else可以出现0次或1次.

    4.4巢状分枝:(单项分支,双项分支,多项分支的相互嵌套)

    if math==100:

      if English>=90:

        if history>=90:

          if chinese>=95:

            print('success')

          else:

            print('you will be good')

        else:

          print('you have to struggle')

    else:

    print('loser')

    5.循环控制:

    5.1while循环

    特点:减少冗余代码,提高代码效率

    语法:

    while 条件表达式:

      code1

      code2

    tips:(1)初始化一个变量

    (2)写上循环判断条件

    (3)自增自减的变量中

    5.1.1打印1~100

    i=1

    while i<=100:

      print( i )   #在此位置写上要执行的逻辑代码

      i+=1

    5.1.2计算1~100的累加和

    方法一:

    i=1

    sum=0

    while i<=100:

      sum+=i

      i+=1

    print(sum)

    方法二:(利用死循环)

    i=1

    sum=0

    sign=True

    while sign:

      sum+=i

      i+=1

      if  i=101:

        sign=False

    print(sum)

    5.1.3打印一行是个*

    i=0

    while i<10:

      print('*',end='')     #help查看帮助文档,help(print)===>print默认end=' '

      i+=1

    5.1.4通过打印变量实现一行十个小星星

    #借助字符串的拼接:'qwe'+'abc'==>'qweabc'

    i=0

    strvar=''

    while i<10:

      strvar+='*'

      i+=1

    print(strvar)

    5.1.5打印一行十个,奇数为*偶数为#

    i=0

    while i<10:

      if i%2==0:

        print('*')

      else:

        print('#')

      i+=1

    #要将事物分为n个种类则除以n取余,可以得到n个分类,且范围为0~(n-1)

    5.1.6一个循环打印十行十列的*

    i=0

    while i<100:

      print('*',end='')  #打印星星

      if i%10==9:

      print()             #打印换行

      i+=1

    5.1.7一个循环打印十行十列隔列# 和*

    i=0

    while i<100:

      if i%2==0:

        print('#',end='')

       else:

        print('*',end='')  #打印图案

      if i%10==9:

        print()             #打印换行

      i+=1

    5.1.8一个循环隔行打印#和*

    tips:任意数和n进行地板除,可以出现n个相同的数字

    0~9       //10  会出现10个相同的0

    10~19   //10 会出现10个相同的1

    20~29  //10  会出现10个相同的0

    i=0

    while i<100:

      if i // 10 % 2==0:

        print('#',end='')

      else:

        print('*',end='')

      if i%10==9:

        print()

      i+=1

    5.2 for循环

    for循环的作用有:循环,遍历,迭代;主要为了遍历数据而提出,使用while遍历有局限性(如set)

    语法:

      for i in 可迭代对象:

        code1

        code2

    可迭代对象:容器型数据,range对象,迭代器

    5.2.1遍历容器型数据时将元素逐个遍历输出

    (1)遍历字符串:

      container='我i电视剧的辉煌的时代'

      for i in container:

        print(i)

    (2)遍历列表:

      container=[123,'345','巨大的']

      for i in container:

        print(i)

    (3)遍历元组:

      container=(12,'34','地点')

      for i in container:

        print(i)

    (4)遍历集合:

      container={99,'88','很多很多很多'}

      for i in container:

        print(i)

    (5)遍历字典:(在遍历字典时,只遍历字典的键)

      container={'a':1,'b':2,'c':3}

      for i in container:

        print(i)

    5.2.2遍历不等长的二级容器

      container=([12,'34','结束的时间'],('98',45))

      for i in container:

        for j in i:

          print(j)

    5.2.3遍历等长的二级容器

      container=[(12,'36',89),[58,'Gina',56]]

      for a,b,c in container:

        print(a,b,c)

      #a,b,c=12,'36',89

      #a,b,c=58,'Gina',56

      变量的解包:a,b=1,2         [a,b]=5,6

    5.2.4range对象

      语法:range(开始值,结束值,步长)      注:能取到开始值,取不到结束值,只能取到结束值前一个数

      (1)只有一个值的情况

        range(10)   #默认从0 取到9

      (2)只有两个值的情况:

        range(3,5)  #从3开始到5-1

      (3)只有三个值的情况:

        range(3,8,2)   #3,5,7

        range(9,5,-1)  #9,8,7,6

        打印1~10:

        for i in range(1,11):

          print(i)

        

    总结:while进行较为复杂的逻辑; for:进行数据的遍历;二者部分代码可以相互转换

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    在spring MVC的controller中获取ServletConfig
    支付宝移动接入报系统繁忙,參数错误等错误
    Android:控件WebView显示网页
    android WebView总结
    关于用WebView或手机浏览器打开连接问题
    Android解决Fragment多层嵌套时onActivityResult无法正确回调的问题
    Fragment嵌套Fragment时遇到的那些坑
    Android 多个Fragment嵌套导致的三大BUG
    Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
    Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
  • 原文地址:https://www.cnblogs.com/l0928/p/13256369.html
Copyright © 2020-2023  润新知