判断类型,代码块,流程控制,循环结构

一, 判断类型 isinstance

语法:
    # 用法一
    isinstance(要判断的值,要判断的类型) 返回True 或者 False
    # 用法二
    isinstance(要判断的值,(可能的类型1,可能的类型2,可能的类型3 ...  ) ) 如果有一个类型满足,返回的是True 否则 返回False
     
数据类型:
int float bool complex str list tuple set dict

# 用法一
res = isinstance(5,int)
res = isinstance("11223344",str)
res = isinstance([1,2,3],tuple)
print(res)
 
# 用法二
res = isinstance(16, (str,list,tuple)  )
print(res)

二,代码块:以冒号作为开始,用缩进来划分作用域

作用域:作用的区域,作用的范围

if 10 == 10: # True 执行
    print(1)
    print(2)
    print(3)
print(4)
 
if 10 == 11: # False 不执行
    print(11)
    print(22)
    print(33)
print(44)
 
 
 
# 代码块的注意点:
"""要么全都是一个tab缩进,要么全都是4个空格,不能混合使用"""
if 10 == 10:
    print(100)
    print(200) # IndentationError
     
     
# php js .... (了解)
"""
if(10 == 10){
    print(1)
                print(2)
                            print(3)
}

三 流程控制
流程: 代码执行的过程
控制: 对代码执行过程的一种把控

三大结构:
1.顺序结构 : 默认代码依次从上到下执行
2.分支结构 : 4种
3.循环结构 : for while

分支结构:
(1)单项分支
(2)双项分支
(3)多项分支
(4)巢状分支

# 1.单项分支
"""
if 条件表达式:
    code1
    code2
当条件表达式成立,返回True,执行对应的代码块,反之不执行
"""
liucaixia = "女生"
if liucaixia == "女生":
    print("给他买一些好吃的")
    print("给他买一些好玩的")
    print("陪她出去逛街")
    print("陪她买化妆品")
 
 
# 2.双项分支
"""
if 条件表达式:
    code1
    code2
else:
    code3
    code4
如果条件表达式成立,执行if对应的代码块
如果条件表达式不成立,执行else对应的代码块
 
if   代码块也叫做真区间
else 代码块也叫做假区间
 
"""
liucaixia = "抠脚老汉"
if liucaixia == "女生":
    print("加他微信")
    print("加他手机")
    print("收集他的兴趣爱好")
    print("以后多联系")
else:
    print("给你一榔头~")
 
 
# input 等待用户输入字符串,接受的数据是字符串
"""
name = input("先森,你妈贵姓?~")
print(name , type(name))
"""
 
"""
网站登录功能:
    提示用户输入对应的用户名和密码
    如果用户名admin,密码000
    提示用户,登录成功
    否则提示,登录失败
"""
 
username = input("请输入您的用户名:")
password = input("请输入您的密码:")
if username == "admin" and password == "000":
    print("登录成功~")
else:
    print("登录失败~")


# ### 多项分支 (多选一)
"""
语法:
if 条件表达式1:
    code1
    code2
elif 条件表达式2:
    code1
    code2
elif 条件表达式3:
    code1
    code2
else:
    code...
     
如果条件表达式1成立,返回True,执行对应的代码块,反之则向下执行
如果条件表达式2成立,返回True,执行对应的代码块,反之则向下执行
如果条件表达式3成立,返回True,执行对应的代码块,反之则向下执行
直到最后,任何条件都不满足,执行else这个分支的代码块.
 
 
elif 可以出现0次或者多次
else 可以出现0次或者1次
"""
 
youqian = True
# 双项分支
if youqian == True:
    print("上午刚认识,下午就结婚")
else:   
    print("你是个好人")
 
# 多项分支
youqian = False
youfang = False
youche = False
youyanzhi = False
youtili = False
 
if youqian == True:
    print("我就嫁给你1")
elif youfang == True:
    print("我就嫁给你2")
elif youche == True:
    print("我就嫁给你3")
elif youyanzhi == True:
    print("我就嫁给你4")
elif youtili == True:
    print("我就嫁给你5")
     
else:
    print("你是个好人")
 
 
# ### 巢状分支 (单项分支,双项分支,多项分支的互相嵌套)
print("<============================>")
youqian = False
youfang = False
youche = False
youyanzhi = False
youtili = False
 
 
if youqian == True:
    if youfang == True:
        if youche == True:
            if youyanzhi == True:
                if youtili == True:
                    print("老娘今天死活要嫁给你,等着接盘吧,兄弟")
                else:
                    print("恭喜你~ 成为我的1号备胎")
            else:
                print("你可以上韩国整整容,整成金城武再来.")
else:
    print("出门左拐,乘2路汽车,2站之后下是你家,不送了,老弟.")
   

四,循环结构while 循环
“”"
特点:减少冗余的代码,提升代码的效率
语法:
while 条件表达式:
code1…
code2…

1.初始化一个变量
2.写上循环的判断条件
3.自增自减的变量值
“”"

# 打印1 ~ 100 
i = 1
while i <= 100:
    # 在这个位置写要执行的逻辑
    print(i)
    i += 1 # i = i + 1
     
"""
初始化一个变量i
第一次循环
i = 1 , i<=100 成立返回True,执行循环
print(1)
i += 1 => 2
 
第二次循环
i = 2 , i<=100 成立返回True,执行循环
print(2)
i += 1 => 3
 
第三次循环
i = 3 , i<=100 成立返回True,执行循环
print(3)
i += 1 => 4
....
 
什么时候结束?
当i = 101时候, 判断i <= 100 不成立返回False ,不执行循环
循环结束...
"""
 
 
# 计算1~100的累加和
# 方法一
i = 1
total = 0
while i<=100:
    # 把所有的i值全部累加到total这个变量中
    total += i # total = total + i
    i+=1
 
print(total)
"""
# 代码解析:
第一次循环
i = 1 i<=100 成立执行循环
total += i => total = total + i => 0 + 1
i+=1 => 2
 
 
第二次循环
i = 2 i<=100 成立执行循环
total += i => total = total + i => 0 + 1 + 2
i+=1 => 3
 
第三次循环
i = 3 i<=100 成立执行循环
total += i => total = total + i => 0 + 1 + 2 + 3
i+=1 => 4
 
....
依次循环
 
什么时候结束?
i = 100 
total = 0 + 1 + 2 + 3 + 4 + ...+ 100 = 5050
当i = 101 不满足循环的条件 , 直接跳出,循环结束..
到此打印 5050 ;
 
 
"""
 
# 方法二.
total = 0
i = 1
sign = True
while sign: 
    total += i # total = total + i
    i+=1
 
    # 手动加上终止循环的条件
    if i == 101 :
        sign = False
print(total)
 
 
 
 
# 死循环
"""
while True:
    print(123)
"""

单项循环练习

# 1.打印一行十个小星星 help函数查看帮助文档
"""
help(print)
 
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
print("*",end="")
"""
# (1).初始化变量
i = 0
# (2).循环判断的条件
while i <10:
    # (4).写上自己的代码逻辑
    print("*",end="") # 打印小星星
    # (3).自增加1
    i+=1
         
     
print("<================>")
# 2.通过打印变量实现一行十个小星星
# 字符串的拼接
var1 = "我爱你,"
var2 = "这个世界上所有的女生"
res = var1 + var2
print(res)
var1 += var2 # var1 = var1 + var2
print(var1)
 
# 循环10次,拼接了10个星星
i = 0
strvar = ""
while i < 10:
    strvar += "*" #strvar = '' + "*" / '*' + '*' / "**" + '*' / "***" + "*" / "*********" + "*"
    i+=1
 
print(strvar)
 
 
# 3.打印一行十个小星星,奇数个为★ , 偶数个位☆
# ★☆★☆★☆★☆★☆
"""
任意数和n取余,范围是多少? 0 ~ (n-1)
n = 2
0 % 2 = 0
1 % 2 = 1
2 % 2 = 0 
3 % 2 = 1
4 % 2 = 0
5 % 2 = 1
0~1
 
n = 5
0 % 5 = 0
1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
4 % 5 = 4
5 % 5 = 0
6 % 5 = 1
0~4
扑克牌 4种花色 方片 草花 红桃 黑桃
"""
 
i = 0
while i<10:
    # 写上代码的逻辑
    if i % 2 == 0:
        print("★",end="")
    else:
        print("☆",end="")
    i+=1
 
 
print("<================>")
# 4.一个循环打印十行十列的小星星
"""
0123456789
**********              0~9
10111213141516171819
* * * * * * * * * *     10~19
**********   20~29
**********   30~39
**********   40~49
**********   50~59
**********   60~69
**********   70~79
**********   80~89
**********   90~99
 
怎么能找到 9 19 29 39 49 ... 99 这颗星星呢?
"""
 
i = 0
while i < 100:
    # 打印星星
    print("*",end="")
     
    # 打印换行
    if i % 10 == 9:
        print()
    i+=1
 
 
 
# 5.一个循环打印十行十列隔列换色的小星星
"""
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
★☆★☆★☆★☆★☆
"""
i = 0
while i < 100:
    # 打印星星
    # print("*",end="")
    if i % 2 == 0:
        print("★",end="")
    else:
        print("☆",end="")
     
     
    # 打印换行
    if i % 10 == 9:
        print()
    i+=1
 
 
# 6.一个循环打印十行十列隔行换色的小星星
"""
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
"""
 
"""
任意数和n进行地板除,会出现n个相同的数字
0 // 2 = 0
1 // 2 = 0
2 // 2 = 1
3 // 2 = 1
4 // 2 = 2
5 // 2 = 2
 
0 // 6 = 0
1 // 6 = 0
2 // 6 = 0
3 // 6 = 0
4 // 6 = 0
5 // 6 = 0
 
6  // 6  = 1
7  // 6  = 1
8  // 6  = 1
9  // 6  = 1
10 // 6  = 1
11 // 6  = 1
 
12 // 6  = 2
....
 
0 ~ 9   // 10 会出现10个相同的0
10~19   // 10 会出现10个相同的1
20~29   // 10 会出现10个相同的2
...
 
90~99   // 10 会出现10个相同的9
 
到此, 地板除的值  范围为: 0 ~ 9
 
"""
print("<======>")
i = 0
while i<100:
 
    # 打印星星
    if i // 10 % 2 == 0:
        print("★",end="")
    else:
        print("☆",end="")
     
    # 打印换行
    if i % 10 == 9:
        print()
 
    i+=1

设置缩进

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值