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='\n'

  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:进行数据的遍历;二者部分代码可以相互转换

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2020-07-06 18:52  HaCi-25  阅读(170)  评论(0)    收藏  举报