栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

Python零基础学习笔记(三)程序的组织结构

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python零基础学习笔记(三)程序的组织结构

声明:

 

(1)该学习笔记是根据B站“Python_子木”分享的杨淑娟老师授课的“马士兵Python入门基础版”所整理的。该系列笔记适合初学Python的同学,仅供学习交流。                                                

(2)博主是零基础的Python初学者,撰写笔记是为了更好复盘所学内容。如有错误还望大佬们多多指点,不胜感激!

目录

一、顺序结构

二、对象的布尔值

三、选择结构

1. 单分支结构

2. 双分支结构

3. 多分支结构

4. 分支结构-嵌套if

5. 条件表达式

6. Pass语句

四、循环结构

1. 内置函数range()

 2. 循环结构

3. while 循环结构的执行流程

4. for-in 循环

5. 流程控制语句break

 6. 流程控制语句continue

 7. else 语句

8. 嵌套循环

9. 二重循环中的break和continue


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

        计算机的流程控制:顺序结构、选择结构(if语句)、循环结构(while语句、for-in结构)。

一、顺序结构

        程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束。

二、对象的布尔值

        Python一切皆对象,所有对象都有一个布尔值。获取对象的布尔值,使用内置函数bool()。

        以下对象的布尔值皆为False:

        False、数值0、None、空字符串、空列表、空元组、空字典、空集合。

       其他均为True。

#以下对象的布尔值为false,其他均为true
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))#空字符串
print(bool([]))#空列表
print(bool(list()))#空列表
print(bool(()))#空元组
print(bool(tuple()))#空元组
print(bool({}))#空字典
print(bool(dict()))#空字典

三、选择结构

        程序根据判断条件的布尔值选择性地执行部分代码,明确地让计算机知道在什么条件该去做什么。

        【选择取款操作】--->【输入取款金额】--->【余额是否充足】---True--->【吐出钞票】

                                                                                                               ---False--->【提示余额不足】

1. 单分支结构

        中文语义:如果……就(如果下雨就带伞);

        语法结构:if 条件表达式:

                                条件执行体

#单分支结构
money=1000
s=int(input('请输入取款金额'))
if money>=s: #条件表达式,判断余额是否充足
    money=money-s
    print('取款成功,余额为:',money)

2. 双分支结构

        中文语义:如果……就……不满足就……

        语法结构:if 条件表达式:

                                   条件执行体1

                           else:

                                   条件执行体2

#双分支结构
#用户输入一个整数,让程序判断奇偶
num=int(input('请输入一个整数'))
if num%2==0:
    print(num,'是偶数')
else:
    print(num,'是奇数')

3. 多分支结构

        中文语义:是……吗?不是

                           是……吗?不是

                            ……

                           是……吗?是

        语法结构:if 条件表达式1:

                                  条件执行体1

                           elif 条件表达式2:

                                  条件执行体2

                           else:

                                  条件执行体

#从用户处录入一个整数成绩,90-100A,80-89B,70-79C,60-69D,0-59E,小于0或大于0为非法数据
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('非法数据')

4. 分支结构-嵌套if

        语法结构:

        if 条件表达式:

                if 内层条件表达式1:

                        内层条件执行体1

                else:

                        内层条件执行体2

        else:

                条件执行体

'''会员:购物金额>=200,8折
               >=100,9折
    非会员:购物金额>=200,9.5折'''
answer=input('请问您是会员吗?yes/no')
money=float(input('请输入你的购物金额'))
if answer=='yes':
    if money>=200:
        print('打8折,付款金额为:',money*0.8)
    elif money>=100:
        print('打9折,付款金额为:',money*0.9)
    else:
        print('不打折,付款金额为:',money)
else:
    if money>=200:
        print('打9.5折,付款金额为:',money*0.95)
    else:
        print('不打折,付款金额为:',money)

5. 条件表达式

        条件表达式是if...else的简写。

        语法结构:x if 判断条件 else y(True时执行前面,False执行后面)。

        运算规则:如果判断条件的布尔值为True,条件表达式的赶回值为x,否则条件表达式的返回值为False。

#从键盘录入2个整数,比较两个整数的大小
num_a=int(input('请输入一个整数'))
num_b=int(input('请输入另一个整数'))
'''if num_a>=num_b:
    print(num_a,'大于等于',num_b)
else:
    print(num_a,'小于',num_b)'''
#用条件表达式简写
#print((num_a,'大于等于',num_b) if num_a>=num_b else (num_a,'小于',num_b))
#美化
print(str(num_a)+'大于等于'+str(num_b) if num_a>=num_b else str(num_a)+'小于'+str(num_b))

6. Pass语句

        pass语句:语句什么都不做,只是一个占位符,用在语法上需要语句的地方

        什么时候使用:现搭建好了语法结构,还没想好代码怎么写的时候

        哪些语句一起使用:if 语句的条件执行体、for-in语句的循环体、定义函数时的函数体。

answer=input('您是会员吗?y/n')
#还没想好怎么写,用pass占位
if answer=='y':
    pass
else:
    pass

四、循环结构

1. 内置函数range()

        内置函数range()用于生成一个整数序列。

        创建range()对象的三种方式:

        (1)range(stop):创建一个[0,stop)之间的整数序列,步长为1;

        (2)range(start,stop):创建一个[start,stop)之间的额整数序列,步长为1;

        (3)range(start,step,stop):创建一个[start,stop)之间的额整数序列,步长为step。

        返回值是一个迭代器对象。

        range类型的优点:不管range对象表示的整数序列有多长,所有range对象所占用的内存空间是相同的,因为仅仅需要存储start、stop和step,只有当用到range对象时,才会去计算序列中的相关元素。

        in 与not in 判断整个序列中是否存在/不存在指定整数。

#只有一个参数
r=range(10)
print(r)#结果是一个迭代器对象
print(list(r))#查看序列中的具体数据,list是列表的意思,默认从0开始,相差1(步长);结果不包含10

#两个参数
r=range(2,10)
print(list(r))

#三个参数
r=range(0,10,2)#步长为2
print(list(r))

#判断指定的整数,在序列中是否存在in,not in
print(10 in r)
print(8 in r)
print(10 not in r)
print(8 not in r)

 2. 循环结构

        循环结构指反复做同一件事情的情况称为循环。

        循环结构的流程图(图源网络):

         循环的分类:while、for- in。

        语法结构:

        while 条件表达式

                条件执行体(循环体)

        选择结构的 if 与循环结构 while 的区别:if 是判断一次,条件为True执行一行;while 是判断N+1次,条件执行体为N次。

3. while 循环结构的执行流程

        四步循环法:初始化变量、条件判断、条件执行体(循环体)、改变变量。

#选择结构
a=1
if a<10:
    print(a)

#循环结构
a=1
while a<10:
    print(a)
    a+=1

#计算0-4的累加和
sum=0
a=0
while a<5:
    sum+=a
    a+=1
print('和为:',sum)

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

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

#同方法计算1-100偶数和
sum=0
a=1
while a<=100:
    if not bool(a%2):
        sum+=a
    a+=1

4. for-in 循环

        in表示从字符串、序列等中依次取值,又称为遍历。

        for- in遍历的对象必须是可迭代对象。

        for-in 的语法结构:for 自定义变量 in 可迭代对象:

                                                循环体

        当循环体内不需要访问自定义变量时,可以将自定义变量替代为下划线。

#in 表示从(字符串、序列等)中依次取值
#字符串
for item in "Python":
    print(item) #将"Python"依次赋值给item

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

#如果在循环体中不需要使用自定义变量,可将变量写为"_"
for _ in range(5):
    print('加油学python')

#使用for循环,计算1-100之间的偶数和
sum=0
for item in range(1,101):
    if item%2==0:
        sum+=item
print(sum)

#输出100-999之间的水仙花数
#水仙花数:153=3*3*3+5*5*5+1*1*1
for item in range(1,1000):
    ge=item%10
    shi=item//10%10
    bai=item//100
    #print(bai,shi,ge)
    if ge**3+shi**3+bai**3==item:
        print(item)

5. 流程控制语句break

        break语句用于结束循环结构,通常与分支结构 if 一起使用(非正常结束循环)

#从键盘录入密码,最多录入3次,如果正确结束循环(for-in方法)
for item in range(3):
    pwd=input('请输入密码')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码错误')

#while方法
a=0
while a<3:
    pwd=input('请输入密码')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码错误')
    a+=1 #注意要改变变量,不然不会结束循环

 6. 流程控制语句continue

        continue语句用于结束当前循环,进入下一次循环,通常与分支结构中的 if 一起使用。

#输出1-50之间所有5的倍数
#方法一
for item in range(1,51):
    if item%5==0:
        print(item)

#方法二,使用continue
for item in range(1,51):
    if item%5!=0:
        continue
    print(item)

 7. else 语句

        与 else 语句搭配使用的三种情况:if……:……  else: ……;while……:……  else:  ……;for……:……  else:  ……。

#for-in语句
for item in range(3):
    pwd=input('请输入密码')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码错误')
else:
    print('对不起,三次密码输入错误')

#while语句
a=0
while a<3:
    pwd=input('请输入密码')
    if pwd=='8888':
        print('密码正确')
    else:
        print('密码错误')
    a+=1
else:
    print('对不起,三次密码输入错误')

8. 嵌套循环

        嵌套循环是指循环结构中又嵌套了另外的完整的循环结构,其中内层循环做为外层循环的循环执行。

#输出一个三行四列的矩阵
for i in range(1,4):
    for j in range(1,5):
        print('*',end='t')
    print()

#输出一个九行的直角三角形
for i in range(1,10):
    for j in range(1,i+1):
        print('*',end='t')
    print()

#输出九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(j,'*',i,'=',j*i,end='t')
    print()

9. 二重循环中的break和continue

        二重循环中的break和continue用于控制本层循环。

for i in range(5):
    for j in range(1,10):
        if j%2==0:
            break
        print(j)

for i in range(5):
    for j in range(1,10):
        if j%2==0:
            continue
        print(j,end='t')
    print()

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038348.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号