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

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

1、end参数的了解


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


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

a308499a67f5446b94c1030575d4096a.png


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


c85271dc09594493961e4152ded06b5a.png


2、打印九九乘法表


1、写出基本代码


1. while i<=9:
2.     j=1
3. while j<=i:
4. print(f'{j}*{i}={i*j}')
5.         j+=1
6.     i+=1


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


16b8a7ef4b564fd79cf619dfddee4906.png


2、加入end参数


5f1babe679d24a9cbb22ad07dc128d7e.png


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



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

781e6af0437d4cc6877f78e97da36116.png


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


10e9a1fec5f4422c83a24428fd76b893.png60b2319138c940738538dd4430ede475.png


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 代码演示

1ea2eeccf6aa4a1ba36893159228d1ea.png

1.2 具体代码如下


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

2、 打印左上三角形


2.1 代码演示

287ca08e8b954836a7238363a0b3d326.png


2.2 具体代码如下


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


3、打印右下三角形


3.1 代码演示

1c745b2553b140518349bb4ea1068cfa.png



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 代码演示

fa9f9e08c7d948e98985663057dc5e97.png


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、代码演示

4c244b2ccc9d4b4fa3e461bd55c5042a.png



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、代码演示

4a8d1e579b1643a68c503f0dedf15648.png


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()
相关文章
|
2天前
|
Python
在Python中,高阶函数是指那些可以接受一个或多个函数作为参数,并返回一个新的函数的函数。
【6月更文挑战第24天】Python的高阶函数简化代码,增强可读性。示例:`map()`检查用户名合法性,如`[&quot;Alice&quot;, &quot;Bob123&quot;, &quot;Charlie!&quot;, &quot;David7890&quot;]`;`reduce()`与`lambda`结合计算阶乘,如1到10的阶乘为3628800;`filter()`找出1到100中能被3整除的数,如[3, 6, 9, ..., 99]。
12 3
|
6天前
|
Python
Python中使用星号(*)处理位置参数
【6月更文挑战第14天】
10 4
|
6天前
|
存储 Python 容器
|
5天前
|
Python
Python中解包为关键字参数
【6月更文挑战第15天】
8 2
|
5天前
|
开发框架 Python
Python的`pygame`库用于2D游戏开发,涵盖图形、音频和输入处理。
【6月更文挑战第21天】Python的`pygame`库用于2D游戏开发,涵盖图形、音频和输入处理。要开始,先通过`pip install pygame`安装。基本流程包括:初始化窗口、处理事件循环、添加游戏元素(如玩家和敌人)、响应用户输入、更新游戏状态及结束条件。随着项目发展,可逐步增加复杂性。
13 1
|
7天前
|
Python
在Python中,解包参数列表和Lambda表达式是两个不同的概念
【6月更文挑战第19天】在Python中,解包参数允许将序列元素作为单独参数传递给函数,如`greet(*names_and_ages)`。而Lambda表达式用于创建匿名函数,如`lambda x, y: x + y`。两者可结合使用,如`max(*numbers)`找列表最大值,但过度使用lambda可能降低代码可读性。
13 3
|
9天前
|
Python
|
9天前
|
Python
python中使用星号(*)处理位置参数
【6月更文挑战第11天】
10 3
|
2天前
|
Java Python
分别使用python和java编写金字塔图形
分别使用python和java编写金字塔图形
4 0