[Python学习日记-10] Python中的流程控制(if...else...)

[Python学习日记-10] Python中的流程控制(if...else...)

简介

缩进

单分支

双分支

多分支

练习 

简介

        假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动作的。你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样的判断怎么办?很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制。

        基本上在各个语言中,都是用语法 if...else... 来实现,可分为单分支、双分支、多分支

缩进

        如果你看过其他人写的代码,你会发现每行代码之间会有不同的缩进,会使代码非常有层次感,以下面的 if 代码为例

if 0 < number < 10:
    print("this number is less than 10.")
else:
    print("this number is greater than 10.")

        上面的 if 代码里,每个条件的下一行都缩进了4个空格,这是为什么呢?这就是 Python 的一大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件,如果不通过缩进来区分,程序将不会知道当条件成立时要去执行那些代码。
        在其它的语言里,大多通过 {} 来确定代码块,比如 C、C++、Java、JavaScript 都是这样,看一个 JavaScript 代码的例子

var age = 56
if(age < 50){
    console.log("还能折腾")
    console.log("可以执行多行代码")
}else{
    console.log("太老了")
}

        在有 {} 来区分代码块的情况下,缩进的作用就只剩下让代码变的整洁了。而Python是门超级简洁的语言,发明者定是觉得用 {} 太丑了,所以索性直接不用它,那怎么能区分代码块呢?答案就是强制缩进。

Python的缩进有以下几个原则:

  • 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
  • 同一级别的代码,缩进必须一致
  • 官方建议缩进用4个空格,当然你也可以用2个(如果你想被人笑话的话)

单分支

一、语法结构

if 条件:

        满足条件时要执行的代码 

注意:

1、冒号(:)是判断的语法格式必须写

2、在 if 下需要执行的代码必须要往后缩进4个空格或者一个 Tab(换挡键),如果没有以 if 为基础缩进将表示该代码和 if 并没有什么关系

二、代码示例

today_weather = "rain_day"

#单分支
if today_weather == "rain_day":
    print("take your umbrella with you ")

双分支

一、语法结构

if 条件:

        满足条件时要执行的代码

else:

        不满足条件时要执行的代码

二、代码示例

age_of_jove = 58

# 双分支
if age_of_jove > 50:
    print("Too old, time to retire..")
    print("hahah")
else:
    print("还能折腾几年!")

多分支

一、语法结构

if 条件1:

        满足条件1时要执行的代码

elif 条件2:

        满足条件2时要执行的代码

elif 条件3:

        满足条件3时要执行的代码

else:

        不满足上面所有条件时要执行的代码

注意:

1、代码从上往下进行匹配,若匹配中后将会执行该条件下的代码,执行完毕后将会退出

2、else 可以选择不写,非固定结构 

二、代码示例

age = 35

# 多分支
if age < 12:
    print("you are child")
elif age < 18:
    print("you are teenager")
elif age < 30:
    print("you are young man")
else:
    print("your are oil middle-age man")

练习 

一、开发匹配成绩的小程序

题目:

成绩有ABCDE5个等级,与分数的对应关系如下

A        90-100
B        80-89
C        60-79
D        40-59
E        0-39

程序启动,提示用户输入分数,根据分数打印等级

答案:

while True:    # 本篇没有学到 while 循环,这里不使用 while 循环也能实现
    exam_score = int(input("输入你的成绩:"))
    if exam_score <= 100 and exam_score >= 0:
        if exam_score < 40:
            print("极差 E")
        elif exam_score < 60:
            print("不及格 D")
        elif exam_score < 80:
            print("及格 C")
        elif exam_score < 90:
            print("良好 B")
        else:
            print("优异 A")
        break
    else:
        print("输入成绩错误")

二、开发猜随机数的小程序

题目:

启动程序生成一个0-10的随机数,提示用户输入一个整数,用户有5次机会猜数,若输入没有中则提示大了还是小了,超出范围则提示用户超出了猜数的范围,成功则提示猜中了然后退出循环,若循环次数使用完了则提示游戏结束并显示正确的数字

答案: 

import random

number = random.randint(0,10)
count = 5

while count > 0:
    print("请输入你心目中的号码,你有", count, '次机会:')
    user_number = int(input())
    if user_number == number:
        print("恭喜你,猜对了")
        break
    elif user_number < number:
        print("不好意思,猜小了")
    elif user_number > number and user_number <= 10:
        print("不好意思,猜大了")
    else:
        print("超出范围请重猜")
    count -= 1
if count == 0:
    print("游戏结束,正确数字为", number)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JoveZou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值