python基础练习(while语句相关练习题)

目录

练习题

分析(题1)

代码(题1)

验证(题1)

分析(题2)思路一

代码(题2)思路一

分析(题2)思路二

代码(题2)思路二

验证(题2)


练习题

1、如何用while语句实现1~100的累加

2、如何用while语句实现1~100之间偶数的累加

---------------------------------------------------------------------------------------------------------------------------------

分析(题1)

对于实现1到100的累加,我们可以先想想1到100是怎样累加的,是不是 1+2+3+...+100 这样

解下来我们来逐步拆解一下

首先要明确的是,在python中实现数据相加是通过什么来实现的?是不是变量,因为数据是存储在变量当中的。

接下来是不是要分析相加的步骤是什么?是不是先1和2相加,之后将1和2相加之后的结果在与3相加,依次类推,这样实际上我们只需要两个变量就行了,一个用来储存起始的变量(i)和一个用来储存两两相加结果的变量(result)。那既然有两个变量,而变量又是存储数据的地方,i这个变量我们可以给他个1这个起始数据,那result呢,我们应该给他哪个数据呢?是不是0。当然这是候又会蹦出另一个问题,我们在最后分析。

最后那我们怎么用while语句去实现呢?根据while语句的特性(根据条件是否成立来选择执行或跳出循环),我们可以让条件的判断是某个不断加一变量小于等于100(前提是起始为1,i这个变量可以完美解决这个问题)。这样一来,让i这个不断加一的变量与result这个存储结果的变量不断相加就可以实现上述要求。

这样我们就可以写出下面这串代码。

---------------------------------------------------------------------------------------------------------------------------------

代码(题1)

i = 1
result = 0

while i <= 100:
    result += i
    i += 1

print(result)

运行结果如下:

结果为5050,那这个结果对不对呢?我们可以进行验证。怎么验证,我们想想这个累加问题验证难的原因是什么?是不是数太多、太麻烦。那我们抓住这个主要矛盾,把这一百个数给他减少到个位数不就方便我们验证了吗。

---------------------------------------------------------------------------------------------------------------------------------

验证(题1)

我们将上述问题改成1、2和3这三个数累加

i = 1
result = 0

while i <= 3:
    result += i
    i += 1

print(result)

这个结果显然是6,我们在python中运行一下

可以看到我们的代码完美的实现了需求。

---------------------------------------------------------------------------------------------------------------------------------

分析(题2)思路一

其实题2和题1十分类似,分析思路也大差不差,但是要注意其中的区别。很明显看到题2中多了一个要求,也是条件。看到条件这两个字我们想到了什么?是不是条件语句。显然我们需要对相加的数进行是不是偶数的判断。那怎么对是不是偶数进行判断呢?我们想想偶数的特点,什么叫偶数,能被2整除的数叫偶数,这句话是不是也是说一个数对2取余数为0。于是便有了条件判断的具体语句。

这样我们就写下如下代码

---------------------------------------------------------------------------------------------------------------------------------

代码(题2)思路一

i = 1
result = 0

while i <= 100:
    if i % 2 == 0:
        result += i
    i += 1

print(result)

运行结果如下:

---------------------------------------------------------------------------------------------------------------------------------

分析(题2)思路二

其实我们还有另外一个思路,我们不用if语句,直接从源头下手,分析思路还是同题1类似,但要注意它们的不同。既然是偶数相加,那我们知道偶数加偶数一定是偶数,而相邻的偶数之间相差2。由这两个特性我们不难想到让i起始为2,然后每次加2不就可以了吗?代码实现如下

---------------------------------------------------------------------------------------------------------------------------------

代码(题2)思路二

i = 2
result = 0

while i <= 100:
    result += i
    i += 2

print(result)

运行结果如下:

可以看到两次结果相同

---------------------------------------------------------------------------------------------------------------------------------

验证(题2)

验证思路同上

# 思路一
i = 1
result = 0

while i <= 6:
    if i % 2 == 0:
        result += i
    i += 1

print(result)

# 思路二
i = 2
result = 0

while i <= 6:
    result += i
    i += 2

print(result)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小广爱学习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值