python基础作业:利用循环和end参数分别实现打印九九乘法表、三角形图形、寻找水仙花数、寻找完美数

1、end参数的了解

python里的end是print函数中的参数,为末尾end传递一个字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个字符串,其实这也是一个语法要求,表示这个语句没结束。

print()函数不加end参数则默认换行

print()函数中加上end参数默认不换行

2、打印九九乘法表

1、写出基本代码

while i<=9:
    j=1
    while j<=i:
        print(f'{j}*{i}={i*j}')
        j+=1
    i+=1

运行程序,发现九九乘法结果为竖直排版,为了使排版整齐美观,在print(f'{j}*{i}={i*j}')中加入参数end='\t'

2、加入end参数

end参数虽然取消了print()的换行,但是一整排的九九乘法仍不美观,于是在每次内循环结束后进行换行。

3、在内循环结束后进行换行

换行时用print()而不用print('\n')的原因:print()参数中默认换行,如果加入在print()函数中加入换行符'\n'表示进行两次换行。

4、具体代码如下

'''
1、打印九九乘法表
'''
i=1
while i<=9:
    j=1
    while j<=i:
        print(f'{j}*{i}={i*j}',end='\t')# end='\t' 用来调整距离,使排版美观
        j+=1
    print()
    i+=1

三、打印三角形图形 

1、打印左下三角形

1.1 代码演示

 

1.2 具体代码如下

#打印左下三角形
def under_left():
    bian=int(input('请输入三角形的边长:'))
    i=1
    while i<=bian:
        print('*'*i)# 重复输出
        i+=1
under_left()

2、 打印左上三角形

2.1 代码演示

2.2 具体代码如下

#打印左上三角形
def on_left():
    bian=int(input('请输入三角形的边长:'))
    while bian>0:
        print('*'*bian)
        bian-=1
on_left()

3、打印右下三角形

3.1 代码演示

3.2 具体代码如下

#打印右下三角形
def under_right():
    bian = int(input('请输入三角形的边长:'))
    i=1
    while i<=bian:
        print(' '*(bian-i),end='')
        print('*'*i)
        i+=1
under_right()

4、打印右上三角形 

4.1 代码演示

4.2 具体代码如下

#打印右上三角形
def on_right():
    bian = int(input('请输入三角形的边长:'))
    i=bian
    while bian>0:
        print('*'*bian)
        bian-=1
        print(' ' * (i - bian), end='')
on_right()

四、寻找水仙花数

1、水仙花数的概念

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

2、代码演示

3、具体代码如下

'''
寻找水仙花数
'''
def Narcissistic_number():
    range1,range2=map(int,input('请输入你寻找水仙花数的范围(不能超过四位数):').split())
    #在(range1,range2)的范围内寻找水仙花数
    for i in range(range1,range2+1):
        first=(i//1)%10  #取出个位数
        second=(i//10)%10  #取出十位数
        thir=(i//100)%10   #取出百位数
        if first**3+second**3+thir**3==i:
            print(i)
Narcissistic_number()

五、寻找完美数

1、完美数的概念

完美数(Perfect Number),又称“完全数”“完备数”或“完满数”,它的定义是除其本身以外全部因数之和等于本身的数,这个定义看起来拗口,不如我们举两个例子: 最小的两个完美数就是6(其全部因数为1、2、3、6)和28(其全部因数为1、2、4、7、14、28),它们均是除其本身外各因数的和:6=1+2+3和28=1+2+4+7+14。这些数都有一些神奇的特性,因此科学家们赋予它们一个美好的名字—— 完美数。

2、代码演示

3、具体代码如下

'''
寻找完美数
'''
def prefect_number():
    #输入寻找完美数的范围
    range1,range2 = map(int,input('请输入寻找完美数的范围:').split())
    for i in range(range1,range2+1):
        sum = 0
        for j in range(1,i):
            if i%j==0:  #判断j是否为完美数的因子
                sum+=j  #sum进行累加
        if sum==i:      #是,则输出完美数
            print(i)
prefect_number()


 

 

 

 

 

 

 

 

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

街 三 仔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值