前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《假如编程是魔法之零基础看得懂的Python入门教程 》——(六)精简魔法更强大

《假如编程是魔法之零基础看得懂的Python入门教程 》——(六)精简魔法更强大

作者头像
1_bit
发布2021-01-14 17:13:20
6320
发布2021-01-14 17:13:20
举报
文章被收录于专栏:我的知识小屋我的知识小屋

学习目标

  1. 了解对相似逻辑的简化编写——循环

一、了解对相似逻辑魔法的简化编写

1.1 了解代码中的相同逻辑 在日常的代码编写中,经常会遇见一些相似的流程,一部分的相似流程是可以简化的,例如我们需要编写一程序,我们输入一个值,这个值需要加81次9,每次都需要显示输入的值加9后的值,这时该如何进行程序的编写呢?通过本系列课程已学过的知识过于麻烦,不信?那我就写一下输入一个值,该值重复加81次9,每次都显示的代码示例。为了方便观察,我只写出前6次:

代码语言:javascript
复制
a=int(input('请输入一个值,将对这个值进行6次加9,且每次都输出显示:'))
print('你输入的值是:',a)
a=a+9
print('第1次加9后:',a)
a=a+9
print('第2次加9后:',a)
a=a+9
print('第3次加9后:',a)
a=a+9
print('第4次加9后:',a)
a=a+9
print('第5次加9后:',a)
a=a+9
print('第6次加9后:',a)

以上代码使用了input函数接收用户输入的一个值,并且使用“请输入一个值,将对这个值进行6次加9,且每次都输出显示:”作为提示,由于我们在之前的章节中讲到,使用input接收的值将是字符串类型,由于加法只能够使用数字进行相加,那我应该使用int对接收的值进行类型转换,一般代码应该为:

代码语言:javascript
复制
a=int(a)

但我在此处的代码编写为:

代码语言:javascript
复制
a=int(input('请输入一个值,将对这个值进行6次加9,且每次都输出显示:'))

这样写是否可以呢?当然可以。int表示讲一个值转换为一个整数类型,在此input将会返回一个值,该值是我们输入的结果,那么input('请输入一个值,将对这个值进行6次加9,且每次都输出显示:')则表示一个值,使用int将这个值转换为整数当然是可以的。最后将转换后的值赋值给a。

随后将变量a自身加9后赋值给本身:

代码语言:javascript
复制
a=a+9

此处也可以这样写:

代码语言:javascript
复制
a+=9

a+=9a=a+9相等,a+=9表示变量a对等于号右边的值进行相加,最后返回给自身;如果是a-=9则表示a变量自身减去9后赋值给变量a。所以以上代码可以写成:

代码语言:javascript
复制
a=int(input('请输入一个值,将对这个值进行6次加9,且每次都输出显示:'))
print('你输入的值是:',a)
a+=9
print('第1次加9后:',a)
a+=9
print('第2次加9后:',a)
a+=9
print('第3次加9后:',a)
a+=9
print('第4次加9后:',a)
a+=9
print('第5次加9后:',a)
a+=9
print('第6次加9后:',a)

变量进行相加后,随后使用print进行输出,结果为:

在这里插入图片描述
在这里插入图片描述

以上代码是可以简化的,我们查看代码中的规律,可以发现每次都是在变量a进行加9后输出,我们抛开变量值的不同,每次这个逻辑都是重复的,一共重复了6次。弱我们去掉print内的次数,如:print('第1次加9后:',a)改成print('加9后:',a)后,将得到完全重复的:

代码语言:javascript
复制
a+=9
print('加9后:',a)

那如何让该代码重复6次呢?

2.1 重复魔法while循环 while是python编程中的循环魔法法之一,可以自己设置代码重复执行多少次。while循环使用非常简单,我们可以定义一个循环控制变量简称循环变量,循环变量可以控制循环多少次,一般该变量的类型为整数型,如i=0;随后开始使用while循环设置条件,例如我们需要设置循环重复次数为10,则可以写成while i<10:,表示变量i小于10的时候就可以一直重复一些代码,当i大于10就不循环了。例如我们需要重复输出10次你好,则可以写成如下代码:

代码语言:javascript
复制
i=0
while i<10:
    print('你好吗')

首先我们定义了一个变量i并且值为0,随后使用while魔法咒语,给while魔法咒语一个条件i<10,随后一个冒号结束;冒号下一行开始编写我们需要循环的代码,在这里一定要使用缩进表示代码的结构;在此处我编写了代码 print('你好吗'),表示输出10次“你好吗”。那么这就完了吗?并没有,现在的程序是错的。你可能问我为什么错?那我回答你,i变量每次循环都没进行变动,永远i的值都是0,永远小于10,会一直循环无限次。在while循环中,每执行一次循环就会判断一次条件是否成立,假如不成立则会不执行循环;在这里需要添加变量i的增加,每循环1次则加1,一共加10次 就会条件不成立,循环不再执行。代码如下:

代码语言:javascript
复制
i=0
while i<10:
    print('你好吗')
    i+=1

运行程序,结果如下:

在这里插入图片描述
在这里插入图片描述

那我们想一下,在1.1中的程序效果如何实现?其实只要把相同的逻辑放到循环中就可以了,并且设置次数为6,代码编写如下:

代码语言:javascript
复制
i=0
while i<6:
    print('加9后:',a)
    a+=9
    i+=1

如上代码,首先定义一个变量i为0,随后使用while循环判断i每次循环是否小于6,小于6则执行,不小于则不执行循环;每次循环都输出a的值,输出完毕后a开始自增9(在自己的基础上加一个数值表达为自增),自增完后i每次都自增加1,用于循环控制。我们的a是通过用户输入传入的,那么在循环前加上1.1中的代码:

代码语言:javascript
复制
a=int(input('请输入一个值,将对这个值进行6次加9,且每次都输出显示:'))
print('你输入的值是:',a)

i=0
while i<6:
    print('加9后:',a)
    a+=9
    i+=1

这样就完成了循环的使用,这样代码也少了,看着也舒服;运行结果如下:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
如果我们需要加81次,我只需要更改while的判断条件i<6编程i小于81即可:
a=int(input('请输入一个值,将对这个值进行6次加9,且每次都输出显示:'))
print('你输入的值是:',a)

i=0
while i<81:
    print('加9后:',a)
    a+=9
    i+=1

运行结果如下:

在这里插入图片描述
在这里插入图片描述

81次也轻轻松松解决了问题,可是我们发现,没有多少次的提示,数据一点都不清晰,那怎么办呢?小问题,我们知道在while循环中,每次i都是加1的,第1次i是0,第2次i是1,每次都会加1,所以我们每次都把i输出就可以知道现在是第几次循环了:

代码语言:javascript
复制
a=int(input('请输入一个值,将对这个值进行6次加9,且每次都输出显示:'))
print('你输入的值是:',a)

i=0
while i<81:
    print(i,'次加9后:',a)
    a+=9
    i+=1

以上代码中输出了i的值,运行结果如下:

在这里插入图片描述
在这里插入图片描述

那我们想要自己控制循环次数怎么办?怎运行的时候我们手动输入一个值,这个值传入一个变量中,该变量作为条件,代替以上的81次即可:

代码语言:javascript
复制
a=int(input('请输入一个值,将对这个值进行6次加9,且每次都输出显示:'))
print('你输入的值是:',a)
b=int(input('请输入一个值,控制循环次数'))
print('你输入的值是:',b)

i=0
while i<b:
    print(i,'次加9后:',a)
    a+=9
    i+=1

运行结果如下:

在这里插入图片描述
在这里插入图片描述

二、总结

本节内容介绍了C语言while循环的使用,并且介绍了如何通过变量控制循环,主要内容并不是一些使用技巧,而是循环的使用,理解循环很重要,这篇为之后的循环作一个铺垫,希望各位魔导师们再接再厉哟~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 学习目标
  • 一、了解对相似逻辑魔法的简化编写
  • 二、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档