python基础练习(while循环嵌套相关练习题)

目录

练习题

题一(分析)

题一(代码)

题二(分析)

题二(代码)

题三(分析)

题三(代码)


练习题

1、利用while循环语句打印星号(正方形)

2、利用while循环语句打印星号(三角形)

3、利用while循环语句打印九九乘法表

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

题一(分析)

遇到问题之前,我们需要先对问题进行分析,那我们该如何分析问题呢?

我们可以从两方面进行分析:一方面是从问题出发,分析问题的特点,针对特点去解决;另一方面是我们掌握的知识出发,联想我们所学过的知识,知识联系问题,这样才能更好的解决问题。

第一题说要用while循环打印正方形的星号,那我们可以想想这个问题有什么突出的特点呢?是不是有个特殊的要求(正方形)。了解了正方形这个特殊的要求后,我们可以针对此要求进行分析。正方形有什么特点?是不是四个边长都相等。那怎么在python中实现四个边长都相等呢?我们是不是可以先让程序打印一个星星,然后再一行打印五个,最后再让这个打印五个星星的代码重复执行五遍,这样就有一个5*5的正方形了。

经过上面的分析,我们是不是可以很明确的得到一个解题思路——先写一个一行打印五个星星的循环语句,再将这个循环语句循环执行五次。

这时就会又有一个问题出来——怎么利用循环语句来将一个星号在一行当中打印五次?我们分析一下为什么利用循环语句不能将一个星号在一行当中打印五次?是什么阻碍了它?

是不是因为print语句执行后是默认换行的,而根据之前所学的知识,print语句的结束符是可以更换的,我们可以将结束符改为空格,这样这个问题就迎刃而解了。

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

题一(代码)

i = 0
while i < 5:
    j = 1
    while j <= 5:
        print('*', end='')
        j += 1
    print()
    i += 1

运行结果如下:

由于显示的问题,这个正方形看起来并不是特别正,我们可以进行微调,也就是调整print语句的结束符。(结束符调为两个空格)

运行结果如下:

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

题二(分析)

第二题的分析思路同第一题相似,也是先分析问题的特点。

第二题的特点是不是在于三角形这个特殊形状,那我们怎么针对三角形这个特殊形状进行分析呢?现实世界中三角形是有三条边的封闭图形,我们可以在纸上清晰的画出来,但是计算机程序中并不允许我们像现实世界那样画出来,计算机的显示是一个个像素块堆叠而来的,三角形也是如此。我们进一步思考,怎么堆叠出一个最简单的三角形?举个简单的例子(直角三角形),是不是从最低层开始,我们放5个木块,然后每往上一层就减少一个,这样就得到一个简单的三角形。这个堆叠的三角形有什么特点?是不是第一层有一个木块,第二层有两个,到了第五层有五个。这样我们可以抽象出一个特点——三角形的行号和打印的星号数相等

那怎么用代码实现呢?

题一中j代表了打印的星号数,i代表了行号。我们利用while语句的特点,也就是条件不成立时跳出循环,从条件这个点入手。第一题中j是小于等于5这个确定的数的,为了实现动态的变化,我们也可以让j小于等于一个动态变化的变量,这个变量不能凭空产生,是不是想到了i代表行数的这个变量?

好了,这样我们就可以用代码实现需求了。

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

题二(代码)

i = 1
while i <= 5:
    j = 1
    while j <= i:
        print('*', end='')
        j += 1
    print()
    i += 1

运行结果如下:

如果我们要实现像下图这样的一个倒三角该如何做呢?

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

题三(分析)

经过前两题的分析,相信这一题就是手到擒来、易如反掌的。

打印九九乘法表跟打印三角形极其相似,只不过将打印的内容从星号换成了乘法表达式。

但要注意表达式该如何书写。

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

题三(代码)

i = 1
while i <= 9:  # 行循环
    j = 1
    while j <= i:  # 列循环
        print(f'{j}*{i}={i*j}', end='\t')
        j += 1
    print()
    i += 1

运行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小广爱学习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值