2022年 11月 13日

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

分析:

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

s=math.pi * r * r
  • 1

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 #返回整个列表给调用处
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

END-

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