首页 > 编程语言 >[Python学习日记-10] Python中的流程控制(if...else...)

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

时间:2024-08-19 22:54:41浏览次数:9  
标签:... 缩进 10 Python 代码 number else elif print

简介

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

        基本上在各个语言中,都是用语法 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,Python,代码,number,else,elif,print
From: https://blog.csdn.net/zjw529507929/article/details/141330361

相关文章

  • Python 加载 TensorFlow 模型
    1.SavedModel和HDF5加载TensorFlow模型为了加载一个TensorFlow模型,我们首先需要明确模型的格式。TensorFlow支持多种模型格式,但最常见的两种是SavedModel和HDF5(对于Keras模型)。这里,我将分别给出加载这两种模型格式的示例代码。1.1加载SavedModel格式的TensorFlow模型SavedModel......
  • Python Lambda 用法大全
    PythonLambda用法大全一、Lambda表达式基础Lambda的组成分为三部分Lambda表达式是Python中的一种匿名函数,它可以在一行代码中定义函数并立即调用它。与普通函数不同的是,Lambda函数通常不需要使用def关键字去定义,而是在需要时直接使用lambda关键字来创建。Lambda函数可以接受......
  • 【LGR-196-Div.4】洛谷入门赛 #26 题A - H 详细题解--优化思路简洁代码(C++,Python语
    前言:    觉得这个比赛很有意思的,都是暴力题,涉及一些细节,难度比较适合刚学编程语言的,可以很好的锻炼基础还有手速,最后两题也是比较有意思,之后也准备更新atc的比赛题解和洛谷的一些高质量比赛题解(算法网瘾就是想参加各种比赛)   如果觉得有帮助,或者觉得我写的好,......
  • 《花100块做个摸鱼小网站! 》第三篇—热搜表结构设计和热搜数据存储
    ⭐️基础链接导航⭐️☁️阿里云活动地址......
  • 层次聚类算法原理及Python实现
    层次聚类算法(HierarchicalClusteringMethod)是一种基于簇间相似度在不同层次上分析数据,从而形成树形聚类结构的算法。它主要分为两种形式:凝聚层次聚类(自下而上)和分裂层次聚类(自上而下)。以下将详细介绍凝聚层次聚类的原理与步骤:一、原理凝聚层次聚类算法的基本思想是将每个样......
  • 谱聚类算法原理及Python实现
    谱聚类算法(SpectralClustering)是一种基于图论的聚类算法,其原理与步骤可以详细阐述如下:一、原理谱聚类算法建立在谱图理论基础上,它将聚类问题转化为图的最优划分问题。具体来说,算法将数据集中的每个对象看作是图的顶点V,将顶点间的相似度量化作为相应顶点连接边E的权值,从而得......
  • python基础(06控制语句)
    python系列文章目录python基础(01变量&数据类型&运算符)python基础(02序列共性)python基础(03列表和元组)python基础(04字符串&字典)python基础(05集合set)文章目录python系列文章目录前言一、语句块二、bool类型:Ture、False三、条件判断(if、else、elif)四、循环语句五、推......
  • 【网络安全入门】学习网络安全必须知道的100 个网络基础知识_网络安全知识入门基础_网
    什么是链接?链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。2OSI参考模型的层次是什么?有7个OSI层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。3什么是骨干网?骨干网络是集中的基础设施,旨在将不同的路由和数据......
  • P10423题解
    P10423[蓝桥杯2024省B]填空问题先贴上答案#include<iostream>usingnamespacestd;intmain(){stringans[]={"1204","1100325199.77",};charT;cin>>T;cout<<ans[T-'A']......
  • P10155题解
    1题意给定一个排列ppp,每次可以选择一个数pi......