day3

day3

仰天大笑出门去,我辈岂是蓬蒿人。


分支国度一日游

To be or not to be, that is a question.

接下来将进入三大国度之一的分支国度(分支结构),也称为选择国度(选择结构)。

简单介绍

前面所接触过的所有python的代码,我们发现都是从上到下一条条语句的执行,我们称这种执行方式为顺序执行。但是如果现在要求编程判断一个数字是正数还是负数,正数输出"正",负数输出"负",这时候就会发现对于一个问题的处理,有两种解决方法,同时这两种解决方法的代码只会执行其中的一种,这就是我们平常所说的分支顺序,也就是程序开始做出一种选择。

if语句的使用

python中的分支结构的语法也是依靠if,elif,else构造的。这就是前面所说的关键字,读者可以尝试使用if作为变量名,会发现python报错,因为python解释器中认为if已经是具有特殊含义的单词了,也就是编写python的人已经抢先抢了这个单词的命名权了,所以我们不能再使用它作为其他的用途。(当然命名空间一出,还是可以操作一下的)

其基本框架如下:

# 单分支
if ...:
    func1();

# 双分支

if ...:
    func1();
else:
    func2();

# 多分支

if ...:
    func1();
elif ...:
    func2();
else:
    func3();

# 前面例子判断一个数是否是正数的编程

a = int(input('请输入一个数字:'))
if a > 0:
    print('正')
else:
    print('负')

注意这边的if语句和C/C++中的区别,在python中代码块已经不是花括号括起来的区间了,而是更加简单的通过缩进来表示同一代码块中的内容。即如果代码连续并且保持相同的缩进就是同一个代码块。虽然对于缩进的空格数量没有严格要求,但是通常推荐为4个空格,出于工程上的方便以此要求,仅仅是建议。

多分支结构

多分支结构如下:

# 判断一个数字是正数,负数还是零

a = int(input("请输入一个数字:"))
if a > 0:
    print('正数')
elif a == 0:
    print('零')
else:
    print('负数')

多分支结构其实就是处理具有多种选择的时候的一种写法。注意这边是elif而不是else if,注意和C的区别。

嵌套分支结构

当然,嵌套分支结构也是非常重要的一个部分。有时候可能在其中的一个分支中还要根据当前情况做出不同的选择,此时,嵌套分支就出现了。

# 判断一个数字是正数,负数还是零

a = int(input("请输入一个数字:"))
if a > 0:
    print('正数')
else:
    if a == 0:
        print('零')
    else:
        print('负数')

注意这边和上面的多分支结构的功能是一样的,只是写法的不同。一般我们认为代码能够不嵌套就不要嵌套,所谓的扁平化,现在代码量还很小,暂时没有影响。但是试想,如果有十层嵌套,那么读起代码来是不是非常费力,要找哪个else对应哪个if都需要花费很多力气,这可与偷懒绝缘了。所以尽量少用嵌套结构,能用就用多分支结构。


课后练习

输入成绩,如果大于等于90,输出A,如果小于90但是大于等于90,输出B,如果小于80,但是大于等于70,输出C,如果小于70,但是大于等于60,输出D,如果小于60,输出E,如果大于100或者小于0,输出ERROR(人类的本质是复读机)

笔者代码:

score = int(input("请输入成绩:"))

if score > 100 or score < 0:
    print('ERROR')
elif score >= 90:
    print('A')
elif score >= 80:
    print('B')
elif score >= 70:
    print('C')
elif score >= 60:
    print('D')
else:
    print('E')

注意,多分支结构最多只会执行其中的一个分支,也就是按照从上到下的顺序执行,遇到第一个满足条件的地方进入执行其下方的代码,然后跳出整个分支结构。比如,输入90,其满足>=90,但也满足>=80,但是最后只会执行print('A')。同时可以不写else,仅由ifelif构成。

开平方

方式1:

小技巧,因为**在python中是指数运算的意思,所以开平方可以直接写成

a ** 0.5

而不用像其他语言还要借用math库中的sqrt函数或者pow函数。

方式2:

import math
math.sqrt(a)

通过导入math库,调用里面的开平方的函数sqrt

随机数

python中随机数的一种获取方法

from random import randint # 将ranint导入进来

a = randint(1, 6) # 这就是获取从1到6中的一个整数,注意包括1和6
posted @   banyanrong  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示