当前位置 博文首页 > 李江辰:6-4 jmu-python-函数-圆形生成器 (10分)

    李江辰:6-4 jmu-python-函数-圆形生成器 (10分)

    作者:[db:作者] 时间:2021-08-23 22:20

    PTA-记录与分享

    题目

    请大家严格按照下面顺序编写圆形生成器程序:
    1.定义函数getCircleArea(r )。功能:可对指定r计算圆面积。请使用公式math库的pirr进行计算。
    2.定义函数get_rList(n)。功能:输入n个值放入列表并将列表return
    3.输入n,调用get_rList(n)获得列表rList。说明:已有代码,不需要你编写。
    4.遍历rList,对每个元素调用getCircleArea,并按指定格式输出。说明:已有代码,不需要你编写。

    注意:1.需导入程序中所需要的库。2.仅需提交两个函数的完整代码。

    函数接口定义:

    getCircleArea(r ) ??? #r代表整数半径
    get_rList(n) ?????????? #n代表在函数中输入n个值放入列表。

    裁判测试程序样例:

    /* 请在这里填写答案 */
    n = int(input())
    rList = get_rList(n)
    for e in rList:
    ????? print(’{:10.3f}’.format(getCircleArea(e)))
    print(type(rList))

    输入样例:

    3
    1
    2
    3

    输出样例:

    3.142
    12.566
    28.274
    <class ‘list’>

    答案:

    import math
    def getCircleArea(r):
        return math.pi*r*r
     
    def get_rList(n):
        list=[]
        for i in range(n):
            x=eval(input())
            list.append(x)
        return list
    

    PyCharm完整代码:

    import math
    
    
    def getCircleArea(r):
        return math.pi * r * r
    
    
    def get_rList(n):
        list = []
        for i in range(n):
            x = eval(input())
            list.append(x)
        return list
    
    
    n = int(input())
    rList = get_rList(n)
    for e in rList:
        print('{:10.3f}'.format(getCircleArea(e)))
    print(type(rList))
    

    分析:

    由于题目已经提供了输入、遍历的程序结构,不需要我们编写所以根据题目要求只需要在getCircleArea函数里面编写计算圆面积的代码。
    数学里圆的面积:s=π×r2
    所以换成代码就是:

    s=math.pi * r * r
    

    get_rList函数:
    整体原理就是用户输入一个数来决定rlist里面需要放多少个数
    所以在getrlist中只需要定义一个空列表并且用for遍历一遍n一次一次的给空列表添加值

    def get_rList(n):
        list = []   #定义空列表
        for i in range(n): # for循环
            x = eval(input())  #让用户输入一个值
            list.append(x) #把用户刚刚输入的值添加到空列表里
        return list #返回整个列表给调用处
    

    END-

    解决的方法有很多 这里仅仅只是提供一种思路。
    如果觉得帮助到了你,点个赞吧!

    cs