python编程中如何选择执行语句与程序调试

发布时间:2021-10-09 15:22:00 作者:柒染
来源:亿速云 阅读:219

本篇文章给大家分享的是有关python编程中如何选择执行语句与程序调试,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1、程序需求描述

现在,我们来编写这样一段程序:程序运行后,首先提示执行者输入姓名,然后提示用户输入年龄。如果年龄小于7,输出“你好,XXX小朋友”(注意:这里XXX是刚刚输入的姓名);如果年龄小于等于15岁,输出“你好,XXX少年”;如果年龄小于18岁,输出“你好,XXX青少年”;如果年龄小于40岁,输出“你好,XXX青年”;如果年龄小于60岁,输出“你好,XXX中年人”;如果年龄大于等于60岁,则输出“你好,XXX老年人”。
我们分析以上程序需求场景:输入姓名、年龄后,根据年龄段把不同的文字(小朋友、少年、青少年、青年、中年人、老年人等)拼接到“你好,XXX”之后。
根据之前的经验,可以用input()函数(这种带有()的语句都叫函数调用,这里我们记住这个“函数”的说法就可以了,至于什么时函数,我们后续会详细讲解)获取键盘输入,print()函数时在屏幕输出相关内容。

2、if语句

if语句通过一个逻辑判断条件是否成立来执行某些代码行。if语句的形式:

if 判断条件 :
    条件成立时执行的语句写在这里
else
    条件不成立时执行的语句写在这里

在if关键字后面是判断条件,如果判断条件成立,则执行紧跟if之后具有缩进格式的代码,如果条件不成立,则执行紧随else之后的具有缩进格式的代码。如果条件不成立时不执行任何语句,这个else部分的代码可以省略。这里的判断条件可以是数学上的是否相等、是否大于、是否小于、是否大于等于、是否小于等于等等比较运算。
基本理解了【if】的作用和语法形式后,我们就一步一步地实现上述的程序需求吧。

3、程序实现

根据1章节的需求场景描述,我们可以采用if语句来判断条件是否成立,以选择执行不同的语句,这些语句可以向屏幕输出不同的内容。新建文件“nameandage.py”(VSCode中新建文件过程详见《二、编程相关重要的基本概念》),然后在文件中输入以下内容:

#提示,等待输入姓名,输入后存入名叫name的盒子(变量)中
name = input("请输入姓名:")
#提示,等待输入年龄,输入后存入名叫age的盒子(变量)中
age = input("请输入年龄:")
#将字符串的年龄转换为数字的年龄后,保存到变量age中
age = int(age)

if age < 7 :
    #年龄小于7,执行输出语句,注意需要缩进
    print("你好,", name, "小朋友!")

我们可以点击组合键【Ctrl+F5】,执行程序,然后在编辑器下部的区域输入姓名【海绵宝宝】,年龄输入【3】,程序执行后,变量name中保存的值时字符串【海绵宝宝】,变量age的值时数字【3】。由于【age < 7】(变量age的值是3,3小于7,条件成立)的条件成立,会执行【print("你好,", name, "小朋友!")】语句,因此会看到程序输出【你好, 海绵宝宝 小朋友!】。我们可以再次运行程序,输入姓名保持不变,输入年龄时输入【10】,运行程序后,由于【age < 7】(age的值是10,10大于7,条件不成立)的条件不成立,因此不会执行【print("你好,", name, "小朋友!")】语句,而且在该行代码之后没有任何代码(这里没有else部分代码),程序执行【if】判断后就结束了,因此我们不会看到程序有任何输出。
当根据需求描述,当输入【10】的时候,实际应该输出【你好,XXX少年】才符合要求啊。那么应该怎么做呢?之前的程序判断了【age < 7】的情况,那么我们照葫芦画瓢,我们判断另外一种情况:【age < 15】的情况:

#提示,等待输入姓名,输入后存入名叫name的盒子(变量)中
name = input("请输入姓名:")
#提示,等待输入年龄,输入后存入名叫age的盒子(变量)中
age = input("请输入年龄:")
#将字符串的年龄转换为数字的年龄后,保存到变量age中
age = int(age)

if age < 7 :
    #年龄小于7,执行输出语句
    print("你好,", name, "小朋友!")

if age < 15 :
    #年龄小于10,执行输出语句
    print("你好,", name, "少年")

注意:【if ...... :】语句后面的代码需要缩进,我们在后续的学习中再来讲解这个代码缩进的意义。
再次运行程序,当我们输入年龄【10】,那么【age < 7】条件不成立,不会执行【print("你好,", name, "小朋友!")】(注意:#开头的行为注释行,注释行是不会被执行的),【age < 15】条件成立,因此会执行【print("你好,", name, "少年")】,最后我们看到程序的输出符合我们前面对程序的需求描述。
于是,我们根据需求描述,最终我们的程序代码如下:

#提示,等待输入姓名,输入后存入名叫name的盒子(变量)中
name = input("请输入姓名:")
#提示,等待输入年龄,输入后存入名叫age的盒子(变量)中
age = input("请输入年龄:")
#将字符串的年龄转换为数字的年龄后,保存到变量age中
age = int(age)

if age < 7 :
    #年龄小于7,执行输出语句
    print("你好,", name, "小朋友!")
if age < 15 :
    #年龄小于10,执行输出语句
    print("你好,", name, "少年")
if age < 18 :
    #年龄小于18,执行输出语句
    print("你好,", name, "青少年")
if age < 40 :
    #年龄小于40,执行输出语句
    print("你好,", name, "青年")
if age < 60 :
    #年龄小于60,执行输出语句
    print("你好,", name, "中年人")
if age >= 60 :
    #年龄大于等于60,执行输出语句
    print("你好,", name, "老年人")

根据前面的需求场景描述,我们多次点击【Ctrl+F5】组合键,多次运行程序,每次都输入不同的年龄来检验我们的程序是否正确。

4、调试程序

代码编写完成了,我们把鼠标移动到VSCode程序编辑器代码【age = int(age)】所在行的行号前,在鼠标左侧会出现一个暗红色的小圆点,将鼠标继续向左侧移动,点击暗红色小圆点,这时暗红色小圆点会变成高亮的红色圆点,说明我们在程序对应代码和添加了断点。这个断点的作用就是我们在执行程序时,如果执行到有断点的行,程序会在断点行处暂停,然后我们可以一步一步、一行一行地执行程序,通过观察程序的执行情况,以便我们判断程序是否根据我们期望的那样子执行。通过点击【F5】(或者点击主菜单Run--->Start Debugging菜单项启动程序调试),然后在【选择调试配置】对话框中选择【Python 文件 调试打开的Python文件】项,如下图所示:
python编程中如何选择执行语句与程序调试
然后在编辑器底部程序运行窗口输入姓名【海绵宝宝】、年龄【25】后,VSCode编辑器会在断点所在行暂停,如下图所示:
python编程中如何选择执行语句与程序调试
暂停的程序行是即将被执行、但还没有执行的代码行,暂停行的背景与其他行的背景有所不同。点击左侧的三角和虫子的图标,可以打开或关闭程序变量监视器,如下图所示:
python编程中如何选择执行语句与程序调试
我们可以看到,当程序暂停时,有两个变量age和name,变量值分别时字符串的【25】和字符串【海绵宝宝】,这个正好是我们刚刚输入的内容。点击【F10】键或鼠标点击文本编辑器顶部调试工具条中的【python编程中如何选择执行语句与程序调试】图标,代码行【age = int(age)】被执行,执行后,我们可以看到变量age中的值变成了数字25(值的前后没有了一对')。之后之后程序将在代码行【if age < 7 :】处暂停(该行代码即将被执行但还没有执行),由于该行条件不成立,程序将跳过代码行【print("你好,", name, "小朋友!")】,再次点击【F10】按钮后,程序将在【if age < 15 :】行暂停,多次点击【F10】后,在代码行【if age < 40 :】处暂停,由于该条件成立,因此点击【F10】后,程序将在代码行【print("你好,", name, "青年")】处暂停,再次点击【F10】键,编辑器底部的控制台窗口将输出【你好, 海绵宝宝 青年】的字符串。之后程序暂停在代码行【if age < 60 :】处,多次点击【F10】后,程序运行结束。
通过点击但不执行按钮,跟踪代码执行过程,我们发现一个问题:一旦【if age < 7 :】条件成立后,后续的条件就肯定不再不再成立了,当然也就无需再去判断了,如果还进行判断,除了浪费时间、占用计算机资源外,没有任何意义,因此我们采用另外一中方式优化以下这个程序。
强烈建议同学们每次运行程序的时候,都是通过添加断点,然后点击【单步执行按钮】或者【F10】完成程序的跟踪执行,以便加速对程序执行的过程的理解,为后续学习打下基础。

5、if-elif语句

既然条件一旦成立,后续条件判断就无需再次判断,那么我们可以采用if-elif语句进行优化。基本的if-elif语句如下:

if 条件1 :
    条件1成立时执行的语句
elif 条件2 :
    条件2成立时执行的语句
elif 条件3 :
    条件2成立时执行的语句
else
    以上条件都不成立时执行的语句

根据以上if-elif语句的执行规则描述,我们可以将程序优化如下:

#提示,等待输入姓名,输入后存入名叫name的盒子(变量)中
name = input("请输入姓名:")
#提示,等待输入年龄,输入后存入名叫age的盒子(变量)中
age = input("请输入年龄:")
#将字符串的年龄转换为数字的年龄后,保存到变量age中
age = int(age)

if age < 7 :
    #年龄小于7,执行输出语句
    print("你好,", name, "小朋友!")
elif age < 15 :
    #年龄小于10,执行输出语句
    print("你好,", name, "少年")
elif age < 18 :
    #年龄小于18,执行输出语句
    print("你好,", name, "青少年")
elif age < 40 :
    #年龄小于40,执行输出语句
    print("你好,", name, "青年")
elif age < 60 :
    #年龄小于60,执行输出语句
    print("你好,", name, "中年人")
else :
    #年龄大于等于60,执行输出语句
    print("你好,", name, "老年人")

我们再次在代码行【age = int(age)】前添加断点,点击【F5】键启动程序调试,输入【齐天大圣】和【16】,然后点击【F10】键一步步执行。我们发现在经历【age < 7】、【age < 15】和【age < 18】后,由于【age < 18】条件成立,打印出了“XXX青少年”的信息,而后续的【age < 40】和其他判断均未被执行。

通过以上练习,我们完成了if语句以及通过单步执行语句,跟踪程序运行的过程。而跟踪程序运行的方法时我们在整个编程过程中非常重要的排除问题的重要手段,当程序没有按照我们设计的过程运行时,我们可以跟踪程序代码的执行过程。
强烈建议同学们每次运行程序的时候,都是通过添加断点,然后点击【单步执行按钮】或者【F10】完成程序的跟踪执行,以便加速对程序执行的过程的理解,为后续学习打下基础。

以上就是python编程中如何选择执行语句与程序调试,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. ​mysql中语句执行顺序是什么
  2. MyBatis中如何执行Sql语句

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:应对高并发的方法有哪些

下一篇:如何进行Spring Boot 应用可视化监控

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》