首页 > 编程语言 >3:python语法第二章:语法基础2(适合小白进行观看)

3:python语法第二章:语法基础2(适合小白进行观看)

时间:2024-08-04 11:54:07浏览次数:12  
标签:语句 逻辑 这个 python 代码 else 语法 print 第二章

目录:

3.1条件控制语句

3.1.1基本的if,else语句

3.1.2if嵌套

首先学习两个语句的话,最为重要的就是要搞清楚这个底层逻辑是啥,学会了底层的逻辑便很容易的写出代码。

3.1条件控制语句

3.1.1基本的if,else语句

基本的if,else的代码,可以首先理解一些什么是if,在英文中if指的是如果,所以说这个基本的代码其实非常好理解。以下是非常基本的if循环,代码的逻辑结构的整理:

tips:python代码是从上往下看的,这个非常重要。

if 不重要的代码(代号a):

          需要做的东西(代号b)

else:(代号c)

        需要做的东西(代号d)

在这里的代号a这里,是一个逻辑语句,而何为逻辑语句,很简单就是数学中的比较,你看下面的表:

数学表达式python中的表达式
a等于ba==b
a不等于ba!=b
a大于ba>b
a小于ba<b
a大于等于ba>=b
a小于等于ba<=b

这个就是逻辑语句,所以在a处是一个逻辑语句。这里就衍生出为啥python能判断逻辑语句,为啥这里写6>7 python就能知道我这里是错的还是正确的?本着追根溯源的态度,这里还要介绍一个叫做布尔值(bool)的东西,布尔值就是用来判断着一些逻辑语句的一种数据类型,它分为True 与 False两种。

print(9 > 7)
print(8 == 7)
print(8 < 7 )
print(6 >= 6)

这个就是基本的布尔值的运算,可以先来猜猜看这些代码的值。

第一个第二个与第三个非常正常,我认为大家在这里不会犯错,答案一定能够猜到。但是一看最后一个犯迷糊了,为啥6还能大于等于6,这个操作是真的6,我的天,在数学中这个大于等于,中间并不是and的关系,就是并不是都需要满足,是or的关系,是或的关系是只要满足一个就好的意思。所以6显然不大于6,但是6显然等于6。所以满足一个就够了。所以当然是正确的呀!!而来解答一下关于这个为什么python能知道它是正确的或是错误的,如果判断是True就是正确的,判断错来是Flase就是错误的

接着来关注以下这个代码的逻辑。

首先这个python代码是从上往下看的,到第一句首先会判断a这个逻辑语句是否正确,如果正确的话那就进入if这个循环块(这个你可以理解成就是在if语句中里面的东西),运行b(一般是一些指令,比如说print啥的,或者其他的);如果满足不了条件a,那就到c这里。注意c这里是没有代码的(这个非常重要,因为很多的初学者都喜欢在这里写一下代码,所以千万记住这里没有代码)进入c这个模块后,直接运行d(这个d与之前一样是一个命令)

这个就是基本的if else逻辑语句。我来举一个例子

a = 66
b = 70
if b > a:
  print("b is greater than a   即a小于b")
else:
  print("a is bigger than b and a,b is equal 即a大于等于b")

这个就是一个基本的if条件语句的代码,这个代码的答案是啥我来解释以下,首先python从上往下看,看了前两行之后python就知道了a=66,b=70,接下来看if条件语句这一块,b显然是大于a的,所以在if后面的逻辑语句的布尔值是True,所以运行if的运算块(就是那个b)所以打印出来

这个print前面的空格,大家有可能会非常的不理解,这里也是需要重点讲一讲的。为啥这里需要空格,首先这个空格在编程中的学名叫做缩进,这个缩进在之后的编程之路中非常的重要。第一个print有几个空格,代表的是他是if中的代码块,第二个代表的是else中的代码块。这里vscode也帮助我们分别了,那些是代码块里那些不在代码块里。

在这张图里面有两个箭头,在这个红的箭头有一个小灰线,这个线就是在提醒你,这个是我的代码块,所以if的代码块就是在print这里。同样这个黄色的箭头表示了else的代码块,所以这个就是VScode在帮助编码。

接着说回来,这个代码的逻辑是有一定问题的,因为首先判断if 后面的逻辑语句是否正确,正确便在运行if代码块的东西,然后不对就是运行else代码块的东西吗,但是有一个问题在这个代码中我没有办法进行比较a与b是否相等或者说a比b大,比如说 我的a的值是70 b的值也是70,按照if条件语句的逻辑来说,肯定是运行了else中的代码块的东西但是我却不知道到底是大于还是等于。

所以引进了elif,这个是啥东西呢,我写一下结构你就完全知道这个是啥东西了。看看下面的图:

if 不重要的逻辑语句(a):(注意这个的冒号不要忘记掉,初学者经常忘记这个从而出现了报错的现象)

        b(不重要的命令)

elif 不重要的逻辑语句(c):

        (d)(不重要的命令)

else:(e)

       (f)(不重要的命令)

注意这里一样的逻辑只不过出现了另外的一个分支,总体的逻辑是这样的:如果不满足if的逻辑语句,那就到elif这里也就是c,满足c,那才是运行关于d的命令。如果不满足c的命令那就直接运行f就好了。这个就是关于加上了elif的总体逻辑。

接下来就是关于改善之前的代码

a = 66
b = 66
if b > a:
  print("a小于b")
elif b==a:
  print("a与b是一样的")
else:
  print("a大于b")

这样就是比较正确的代码,也是比较严谨的。同样这个输出的答案就是a与b是一样的。注意不要以为elif只能用一次,它可以运用很多次如果你需要的话。

3.1.2if嵌套

if的嵌套,相比与if基本的语句是难了很多的,但是总体来说是可以克服并且是简单的,所以不需要太过于担心。

首先来讲一下if循环的结构是怎么样的,它的底层逻辑又是怎么样的。

if 不重要的逻辑语句(a):

           if 不重要的逻辑语句(b):

                      c(命令语句)--------如果到这里,那便是满足了a,b两个逻辑语句的状态

          else:(d)

                     f(命令语句)---------如果到这里,那便是满足了a,没有满足b的逻辑语句的状态

else:

            g(命令语句)-------如果到这里,那就是不满足a的情况下

这里的逻辑图是相对于简单的逻辑图,理科的思维就是从简单到难,把会的变成不会的,这个非常的重要。首先来看一下,python是从上往下看的,所以首先有了一些数据之后,在a这个逻辑语句这个地方进行了一定的判断,就像之前说的,如果输出的bool值是True的话,那么进入(第一个)if的代码块,着这样的情况下,碰到了第二个逻辑语句,所以在第二个逻辑语句的话,如果满足这个逻辑语句,运行c,不满足便运行f。同样首先就不满足a的话,那就到else的模块,直接运行g。

所以如果想要到c或者f这里,那前提就是满足a,必须要满足a才能进入第一个if这个逻辑块。

举一个例子:在这个之前,要首先讲一下关于input函数的内容,input函数的作用就是可以理解成你登录一个网站然后要你输入你的用户名密码。

而我要举的一个例子就是输入你的分数,看看你的评级这样子的一个简单的代码(这个是一个小练习并不是说一个非常庞大的系统)

a=int(input("输入你的成绩;"))
if a>= 600:
    if a>700:
        print("你是一个优秀的孩子,你的评级是非常优秀")
    else:
        print("你是一个优秀的孩子,你的评级是优秀")
else:
    print("你的考试成绩一般,评级是良好")

在这里看一下这个输出的情况:

这里的620是我进行输入的,所以说它满足了第一个if的条件,但是没有满足第二个if的条件,所以说打印出来的就是 你是一个优秀的孩子,你的评级是优秀这样子一个结构。

但是这个在一般的现实生活中会出现一些问题,就是500--600分的评级不应该与100--200分的评级一样(我从来不歧视,虽然我认为这个其实很蠢,学校里用分数排名来定义你好不好本身就是一个笑话,这个只是学习所用)

所以代码应该改成

a=int(input("输入你的成绩;"))
if a>= 600:
    if a>700:
        print("你是一个优秀的孩子,你的评级是非常优秀")
    else:
        print("你是一个优秀的孩子,你的评级是优秀")
else:
    if a>=500:
        print("你的考试成绩一般,评级是良好")
    elif a>=400:
        print("你的成绩还是可以的,评级是合格")
    else:
        print("你的成绩不太理想,评级是不合格")

在这里代码变得更加的复杂了,但是并么有关系,因为我们打牢了简单的基础,所以不用害怕难的东西,这里的逻辑是这样的首先看一下如果我的成绩是390分

这里390分是为啥会跳出来这个东西的,是这样390分首先不满足第一个if的条件,所以肯定是不能进入第一个if的代码块的。但是到了else这里(注意从上到下)首先不满足else中的if与elif,所以直接跳到了else这里,所以打印出来的是 你的成绩不太理想,评级是不合格这样子的。

然后看一下499这个分数回事怎么样,首先来预测一波,499不满足第一个if 所以到else这里,看if不满足 看elif满足,所以应该是 你的成绩还是可以的,评级是合格

所以我们的推断是正确的。

在这里会有很多人问,为什么你在后面的代码中写道a大于等于400 这个不严谨 如果是510 那岂不是与之前冲突了么 那我们再来看一下这个510分会是咋样的状态。

为什么呢,大家可以自己想一下,在评论区回答。

标签:语句,逻辑,这个,python,代码,else,语法,print,第二章
From: https://blog.csdn.net/2301_76578848/article/details/140901910

相关文章

  • 2:python第二章:python语法基础1(适合小白学习)
    目录2.1:变量2.1.1变量的赋值与更换变量的值2.1.2变量的名称2.1.3多个变量的赋值2.1.4变量的输出2.2:数据结构(基本数据结构)2.2.1字符串(string)2.2.1.1访问字符(索引)2.2.1.2切片2.2.2整数(integer)2.2.3浮点数(float)2.2.4复数(complexnumber)2.3:运算符 2.3.1基本的运算......
  • Python面试题:结合Python技术,如何使用NetworkX进行复杂网络建模与分析
    NetworkX是一个用于创建、操作和研究复杂网络(图)的Python库。它提供了丰富的工具来构建、操纵和分析各种类型的图。下面是一个基本的示例,演示如何使用NetworkX进行复杂网络建模与分析。安装NetworkX首先,确保你已经安装了NetworkX。可以使用以下命令进行安装:pipinstallne......
  • Python应用—简单邮件发送功能
    importsmtplibfromemail.mime.textimportMIMETextfromemail.headerimportHeader#使用正确的SMTP服务器地址和端口号#以163邮箱为例server=smtplib.SMTP_SSL('smtp.163.com',465)#使用SSL连接#登录邮箱server.login('自己账户','自己密码')#替换为......
  • Python爬虫技术 第32节 最佳实践和常见问题
    Python爬虫技术是一种用于从网站上自动抓取数据的技术。它涉及到网络请求、HTML解析、数据提取等多个环节。下面我将详细介绍Python爬虫的最佳实践以及一些常见的问题解决方法,包括日志记录和错误报告、爬虫维护和更新等方面。Python爬虫基础架构一个典型的Python爬虫程序......
  • 机器学习:Python还是R,哪个更好?
    在机器学习领域,选择合适的编程语言是成功的关键因素之一。Python和R是最受欢迎的两种编程语言,各自具有独特的优势和应用场景。本文将探讨Python和R在机器学习中的优缺点,帮助你决定哪种语言更适合你的需求。一、Python和R概述PythonPython是一种通用的编程语言,以其简洁的语法......
  • 初级python代码编程学习----简单计算器代码学习 入门必看
    简单计算器的代码今天来点最简单的python代码。让有兴趣的网友可以快速尝试入门。 defadd(x,y):returnx+ydefsubtract(x,y):returnx-ydefmultiply(x,y):returnx*ydefdivide(x,y):ify==0:return"Error!Divisionb......
  • 实现一个终端文本编辑器来学习golang语言:第二章Raw模式下的输入输出
    从第二章开始,在每个小节的最后都会有一些代码实操作业,你可以选择自己完成(比较推荐),再对照我的实现方式,当然也可以直接看我的代码实现。不过,之后的各个功能实现,我都会基于我先前的代码实现版本,在它的基础上进行扩展。首先,我们先来解决第一章遗留的第一个问题:输入数据会被stdin缓存......
  • Python | ValueError: invalid literal for int() with base 10: ‘example’
    Python|ValueError:invalidliteralforint()withbase10:‘example’在Python编程中,遇到ValueError:invalidliteralforint()withbase10:'example'这样的错误通常意味着你试图将一个字符串转换为整数,但该字符串包含非数字字符。这种错误常见于数据输入、文......
  • Python函数的异常
    #异常:是一个事件,这个时间在程序执行过程中发生,影响了程序的正常执行#异常处理最终目的:让程序在有异常时,仍能够正常运行#语法格式一:try:  print(a)  #可能够引发异常的现象的代码except:  #基类异常  print('出现错误')b=10print(b)#法二try: ......
  • Python爬虫技术 第31节 持续集成和自动化部署
    持续集成和自动化部署Git版本控制Git是一个非常流行的分布式版本控制系统,用于跟踪对项目文件的修改。对于爬虫项目来说,使用Git可以帮助你管理代码的不同版本,协同开发,并且可以在出现问题时回滚到之前的版本。基本操作:安装Git:在你的操作系统上安装Git。初始化仓库:使用......