1996年,计算机科学家证明了:任何复杂的算法都可以由顺序结构选择结构循环结构这三种基本的结构组合而成。

对象的布尔值

Python一切皆为对象,所有的对象都有一个布尔值,使用内置函数bool()获取对象的布尔值。
以下对象的布尔值均为False,其他的位True:

print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))
print(bool(""))
print(bool([]))        #空列表
print(bool(list()))    #空列表
print(bool(()))        #空元组
print(bool(tuple()))   #空元组
print(bool({}))        #空字典
print(bool(dict()))    #空字典
print(bool(set()))     #空集合

1.顺序结构

程序从上往下依次执行

print('-------------------程序开始-------------------')
print('1把冰箱打开')
print('2把大象放进去')
print('3把门关上')
print('------------------程序结束--------------------')

设置两个断点,然后单击调试按钮(一个小虫子的图标),再单击一次步进一行代码,可以看到程序从上往下依次执行。

2.选择结构/分支结构

根据判断条件的布尔值选择性地执行部分代码,明确地让计算机知道什么条件下该去做什么。
1.单分支结构 if ..else:

money=1000
s=int(input('请输入取款金额'))
if money>=s:
    money-=s
    print('取款成功,余额为',money)
else:
    print('取款失败')

2.多分支结构 if..elif..else:

score=int(input('请输入一个成绩'))
if 90<= score<=100:
    print('A')
elif 80 <= score<=89:
    print('B')
elif 70<= score<=79:
    print('C')
elif  60 <=score <= 69:
    print('D')
elif 0 <= score <= 59:
    print('E')
else:print('输入有误,不好意思')

3.嵌套if结构:

money=float(input('请输入你的购物金额:'))
answer=input('您有会员卡吗?y/n')
if answer=='y':
    print('会员')
    if money>200:
        print('打八折,付款金额为',money*0.8)
    elif money>=100:
        print('打九折,付款金额为',money*0.9)
    else:
        print('不打折,付款',money)


else:
    print('非会员')
    if money>300:
        print('打9.5折,付款',money*0.95)
    else:
        print('不打折,付款',money)

4.条件表达式:
用于简化代码,条件为True,执行前面的代码;条件为False执行后面的代码。

num_1=int(input('请输入第一个整数'))
num_2=int(input('请输入第二个整数'))

print(  str(num_1)+'>'+str(num_2)      if num_1>=num_2 else     str(num_1)+'<'+str(num_2)  )

3.循环结构

✪内置函数range()
第一种创建方式:只有一个终值,从0开始,到终值结束(不包含终值),步长为1

r=range(10)
print(r)          #结果:range(0, 10)
print(list(r))    #结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

第二种创建方式:指定起始值,从起始值开始,到终值结束(不包含终值),步长为1

r=range(1,9)
print(list(r))    #[1, 2, 3, 4, 5, 6, 7, 8]

第三种创建方式:三个参数,起始值、终值、步长

r=range(1,10,2)
print(list(r))    #[1, 3, 5, 7, 9]

判断指定的整数,在序列中是否存在in , not in

r=range(1,10,2)
print(10 in r)   #False
print(9 in r)    #True

print(10 not in r)   #True
print(9 not in r)   #False

1.while循环
计算1-100之间的偶数的和。

a = 1
sum = 0
while a<=100:
    if a%2==0:
        sum+=a
    a+=1
print('1-100之间的偶数和为:',sum)

2.for_in 循环
in表示从(字符串、序列)中依次取值,又称遍历
for in遍历的对象必须是可迭代的对象。

#字符串可迭代对象
for item in 'Python':
    print(item)

#range()产生一个整数序列,也可以是一个迭代对象
for i in range(10):
    print(i)

#如果在循环体中不需要使用自定义变量,可将自定义变量写为“_”
for _ in range(3):
    print('人生苦短,我用Python')#重要的事情说三遍

3.嵌套循环
要求输出三行四列的矩形

for i in range(1,4):
    for j in range(1,5):
        print('*',end='\t') #不换行输出
    print()#换行

打印一个9x9乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(j,'*',i,'=',i*j,end='\t')
    print()

4.pass空语句

语句什么都不用做,只是一个占位符,用在搭建语法结构时,还没有想到代码怎么写的时候使用。
可用于:
if语句的条件执行体
for_in 语句循环体
定义函数时的函数体

5.流程控制语句

✪break语句:用于退出整个循环

从键盘录入密码,最多录入3次,如果正确结束循环,错误继续。

for item in range(3):
    pwd = input('请输入密码')
    if pwd =='8888':
        print('密码正确')
        break
    else:
        print('密码错误')

✪continue语句:用于结束当前的循环,进入下一个循环。

使用continue语句输出1-50之间5的倍数。

for item in range(1,51):
    if  item %5!=0:
        continue
    else:
        print(item)