柒申 發表於 2019-7-10 22:32:00

python函数题

<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-1 jmu-python-函数-圆形生成器 (10 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>请大家严格按照下面顺序编写圆形生成器程序。 :</p>
<ol>
<li>定义函数<code>getCircleArea(r)</code>,可以对指定r计算圆面积。计算公式<code>math库的pi*r*r</code>。</li>
<li>定义函数<code>get_rList(n)</code>,功能:输入n个值放入列表并将列表<code>return</code>。</li>
<li>输入n,调用get_rList(n)获得列表rList。</li>
<li>遍历rList,对每个元素调用getCircleArea,并按格式输出。</li>
</ol>
<p><strong>注意:</strong>需导入程序中所需要的库,并提交两个函数的定义。</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">getCircleArea(r) #r代表整数半径
get_rList(n) #n代表在函数中输入n个值放入列表。
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">/* 请在这里填写答案 */
n = int(input())
rList = get_rList(n)
for e in rList:
    print('{:10.3f}'.format(getCircleArea(e)))
print(type(rList))
</code></pre>
<h3 id="-">输入样例:</h3>
<pre><code class="lang-in">3
1
2
3
</code></pre>
<h3 id="-">输出样例:</h3>
<pre><code class="lang-out">   3.142
    12.566
    28.274
&lt;class 'list'&gt;<br><br></code></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">import math
def getCircleArea(r):
    </span><span style="color: rgba(0, 0, 255, 1)">return</span> math.pi*r*<span style="color: rgba(0, 0, 0, 1)">r
def get_rList(n):
    l</span>=<span style="color: rgba(0, 0, 0, 1)">[]
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(n):
      a</span>=<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(input())
      l.append(a)
    </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> l

n </span>= <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(input())
rList </span>=<span style="color: rgba(0, 0, 0, 1)"> get_rList(n)
</span><span style="color: rgba(0, 0, 255, 1)">for</span> e <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> rList:
    print(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">{:10.3f}</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">.format(getCircleArea(e)))
print(type(rList))</span></pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-2 jmu-python-组合数据类型-1.计算坐标点欧氏距离 (10 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>读取若干个点,每个点放入元组。并将所有点的<strong>点信息、点的类型、点与原点的距离</strong>打印出来。</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">readPoint() #从一行以,分隔的数中读取坐标,放入元组并返回
distance(point) #计算point与原点的距离并返回,要math库中的函数
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">/* 请在这里填写答案 */
n = int(input())
for i in range(n):
    p = readPoint()
    print('Point = {}, type = {}, distance = {:.3f}'.format(p,type(p),distance(p)))
</code></pre>
<h3 id="-">输入格式:</h3>
<p>输入n,代表底下要输入n行点坐标。坐标全部为整数。<br>点坐标x,y,z以<code>,</code>分隔。坐标全部为整数。</p>
<p> <strong>注意:</strong>坐标以<code>,</code>分隔,相应位置可能无字符或者包含多个空格字符,读入时按照0进行处理。</p>
<h3 id="-">输出格式:</h3>
<p>见输出样例</p>
<h3 id="-">输入样例:</h3>
<pre><code class="lang-in">5
1,1,1
,,
2,,1
3,1,3
5,,
</code></pre>
<h3 id="-">输出样例:</h3>
<pre><code class="lang-out">Point = (1, 1, 1), type = &lt;class 'tuple'&gt;, distance = 1.732
Point = (0, 0, 0), type = &lt;class 'tuple'&gt;, distance = 0.000
Point = (2, 0, 1), type = &lt;class 'tuple'&gt;, distance = 2.236
Point = (3, 1, 3), type = &lt;class 'tuple'&gt;, distance = 4.359
Point = (5, 0, 0), type = &lt;class 'tuple'&gt;, distance = 5.000
</code></pre>
</div>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">import math

def readPoint():
    #从一行以,分隔的数中读取坐标,放入元组并返回
    a</span>=input().split(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">,</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(len(a)):
      </span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">:
            </span><span style="color: rgba(0, 0, 255, 1)">if</span> eval(a)&gt;<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">:
                a</span>=<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(a)
      except:
            a</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> tuple(a)
def distance(point):
    #计算point与原点的距离并返回,要math库中的函数
    sum</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">):
      sum</span>=sum+point*<span style="color: rgba(0, 0, 0, 1)">point
    </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> math.sqrt(sum)

n </span>= <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(input())
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(n):
    p </span>=<span style="color: rgba(0, 0, 0, 1)"> readPoint()
    print(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Point = {}, type = {}, distance = {:.3f}</span><span style="color: rgba(128, 0, 0, 1)">'</span>.format(p,type(p),distance(p)))</pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-3 jmu-python-组合数据类型-2.坐标点分类 (10 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>在上题(<strong>1.计算坐标点欧氏距离</strong>)的基础上。将每个点根据距离原点的远近分成两类,一类是小于r的点,一类是大于等于r的点。</p>
<p><strong>步骤如下:</strong></p>
<ol>
<li>调用<code>ClassifyPoints(points, r)</code>函数根据输入的半径r进行分类,将所有<strong>&lt;r</strong>的点放入a列表,<strong>&gt;=r</strong>的点放入b列表。然后将a,b列表以元组的方式返回赋值给<code>pointsTuple</code>。</li>
<li>将<code>pointsTuple</code>直接输出。</li>
<li>调用<code>printPointsTuple(pointsTuple, r)</code>,将<strong>&lt;r</strong>与<strong>&gt;=r</strong>的点集合分情况输出,输出还需包含每个点集的平均距离。</li>
</ol>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">readPoint() #从一行以,分隔的数中读取坐标,放入元组并返回。如果相应位置无数据,按0处理。
distance(point) #计算point与原点的距离并返回,要math库中的函数
ClassifyPoints(points, r): #根据r将points中的点分成两类放入两个列表,距离小于r与大于等于r。然后将两个列表以元组的形式返回
avgDistance(pointList): #计算列表pointList中的所有点到原点的平均距离,可利用distance(p)函数
printPointsTuple(psTuple, r): #将元组psTuple中的数据按照输出样例格式输出。输出顺序由psTuple中点列表的顺序决定。
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">/* 请在这里填写答案 */
n = int(input())
r = int(input())
points = []
for i in range(n):
    p = readPoint()
    points.append(p)
    print('Point = {}, type = {}, distance = {:.3f}'.format(p,type(p),distance(p)))

pointsTuple = ClassifyPoints(points, r)
print("pointsTuple = {}".format(pointsTuple))
printPointsTuple(pointsTuple,r)
</code></pre>
<h3 id="-">输入格式:</h3>
<p>输入n,代表底下要输入n行点坐标。点坐标x,y,z以<code>,</code>分隔。坐标全部为整数。<br>输入r, 代表要以r作为分类依据。</p>
<p><strong>注意:</strong>坐标以<code>,</code>分隔,相应位置可能无字符或者包含多个空格字符,读入时按照0进行处理。</p>
<h3 id="-">输出格式:</h3>
<p>见输出样例。注意:<code>=   &lt;   &gt;=</code>两侧均有一个空格,<code>,</code>后面要有一个空格。<br><code>printPointsTuple</code>中计算的平均距离保留3位小数。输出顺序由psTuple中点列表的顺序决定。</p>
<h3 id="-">输入样例:</h3>
<pre><code class="lang-in">5
5
1,1,1
,,
2,3,5
3,1,3
5,,
</code></pre>
<h3 id="-">输出样例:</h3>
<pre><code class="lang-out">Point = (1, 1, 1), type = &lt;class 'tuple'&gt;, distance = 1.732
Point = (0, 0, 0), type = &lt;class 'tuple'&gt;, distance = 0.000
Point = (2, 3, 5), type = &lt;class 'tuple'&gt;, distance = 6.164
Point = (3, 1, 3), type = &lt;class 'tuple'&gt;, distance = 4.359
Point = (5, 0, 0), type = &lt;class 'tuple'&gt;, distance = 5.000
pointsTuple = ([(1, 1, 1), (0, 0, 0), (3, 1, 3)], [(2, 3, 5), (5, 0, 0)])
distance &lt; 5, avgDistance = 2.030, points = [(1, 1, 1), (0, 0, 0), (3, 1, 3)]
distance &gt;= 5, avgDistance = 5.582, points = [(2, 3, 5), (5, 0, 0)]
</code></pre>
</div>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">import math
def readPoint():
    a</span>=input().split(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">,</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(len(a)):
      </span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">:
            </span><span style="color: rgba(0, 0, 255, 1)">if</span> eval(a)&gt;<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">:
                a</span>=<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(a)
      except:
            a</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> tuple(a)
def distance(point):
    sum</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">):
      sum</span>+=point**<span style="color: rgba(128, 0, 128, 1)">2</span>
    <span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> math.sqrt(sum)
def ClassifyPoints(points, r):
    a,b</span>=<span style="color: rgba(0, 0, 0, 1)">[],[]
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(len(points)):
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> distance(points)&lt;<span style="color: rgba(0, 0, 0, 1)">r:
            a.append(points)
      </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">:
            b.append(points)
    z</span>=<span style="color: rgba(0, 0, 0, 1)">(a,b)
    </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> z
def avgDistance(pointList):
    sum</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(len(pointList)):
      sum</span>+=<span style="color: rgba(0, 0, 0, 1)">distance(pointList)
    </span><span style="color: rgba(0, 0, 255, 1)">return</span> sum/<span style="color: rgba(0, 0, 0, 1)">len(pointList)
def printPointsTuple(psTuple, r):
    print(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">distance &lt; {}, avgDistance = {:.3f}, points = {}</span><span style="color: rgba(128, 0, 0, 1)">"</span>.format(r,avgDistance(psTuple[<span style="color: rgba(128, 0, 128, 1)">0</span>]),psTuple[<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">]))
    print(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">distance &gt;= {}, avgDistance = {:.3f}, points = {}</span><span style="color: rgba(128, 0, 0, 1)">"</span>.format(r,avgDistance(psTuple[<span style="color: rgba(128, 0, 128, 1)">1</span>]),psTuple[<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">]))

n </span>= <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(input())
r </span>= <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(input())
points </span>=<span style="color: rgba(0, 0, 0, 1)"> []
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(n):
    p </span>=<span style="color: rgba(0, 0, 0, 1)"> readPoint()
    points.append(p)
    print(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Point = {}, type = {}, distance = {:.3f}</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">.format(p,type(p),distance(p)))

pointsTuple </span>=<span style="color: rgba(0, 0, 0, 1)"> ClassifyPoints(points, r)
print(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">pointsTuple = {}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">.format(pointsTuple))
printPointsTuple(pointsTuple,r)</span></pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-4 jmu-python-组合数据类型-3.二维坐标点统计 (15 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>随机生成n个点并存入字典,每个点的坐标为(x, y),坐标x、y的取值范围是之间的整数。<br>随机生成点的过程中可能会产生重复的点(两个点的坐标值一样),需记录该点生成的次数,如在<br>整个生成点的过程中生成了3个坐标为(2,1)的点,那么需将3作为点生成次数纪录下来。<br>最后在字典中查询3次点坐标,并返回查询结果。</p>
<p><strong>建议:</strong>使用字典存储点。<br><strong>思考:</strong>如何在此基础上使用蒙特卡洛方法计算圆周率。</p>
<p><strong>步骤如下:</strong>
输入n代表要产生n个点<br>输入x代表随机数种子(<strong>注意:</strong>设置种子前需将x转化为整型)</p>
<ol>
<li>调用<code>generatePoint(n)</code>函数生成n个点,每个点包含x,y坐标,将(x,y)存为元组,然后将该元组作为元素放入列表(可放重复的点坐标),并将该列表返回。</li>
<li>调用<code>createPointDict(pList)</code>将步骤1生成的点列表pList中的每个点放入字典pDict中,字典的<strong>键为点(元组)</strong>,<strong>值为出现次数</strong>。</li>
<li>调用<code>doQuery(pDict, p):</code> 在pDict中查询p,如果查到则输出点即出现次数,否则输出<strong>Not Found</strong>。 </li>


</ol>
<p><strong>注意:</strong>需要导入<strong>random</strong>库</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">generatePoints(n) #产生n个2维坐标点放入列表并返回该列表
createPointDict(pList) #将pList中的节点加入字典并统计出现次数,然后返回字典
doQuery(pDict, p) #在pDict中查询p,如果查到则输出该点及其出现次数,否则输出'Not Found'。
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">/* 请在这里填写答案 */
n = int(input())
seed(int(input()))
pList = generatePoints(n)
pDict = createPointDict(pList)
for i in range(3):#查询3次
    x, y =
    doQuery(pDict, (x, y))
</code></pre>
<h3 id="-">输入格式:</h3>
<p>输入的n代表产生n个坐标点<br>输入x代表种子(x需转化为整型)<br>若干个行所要查找的坐标。</p>
<h3 id="-">输出格式:</h3>
<p>如果存在,输出<code>二维坐标点 = 出现次数</code>。注:二维坐标点以元组形式出现。<br>否则输出<strong>Not Found</strong></p>
<h3 id="-">输入样例:</h3>
<pre><code class="lang-in">10000
1
2,9
99,100
1,7
</code></pre>
<h3 id="-">输出样例:</h3>
<pre><code class="lang-out">(2, 9) = 87
Not Found
(1, 7) = 75
</code></pre>
</div>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">from</span> random import*<span style="color: rgba(0, 0, 0, 1)">
import math
def generatePoints(n):
    #产生n个2维坐标点放入列表并返回该列表
    l</span>=<span style="color: rgba(0, 0, 0, 1)">[]
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> range(n):
      x,y</span>=randint(<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">10</span>),randint(<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">)
      z</span>=<span style="color: rgba(0, 0, 0, 1)">(x,y)
      l.append(z)
    </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> l
def createPointDict(pList):
    #将pList中的节点加入字典并统计出现次数,然后返回字典
    s</span>=<span style="color: rgba(0, 0, 0, 1)">{}
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> pList:
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> s:
            s</span>+=<span style="color: rgba(128, 0, 128, 1)">1</span>
      <span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">:
            s</span>=<span style="color: rgba(128, 0, 128, 1)">1</span>
    <span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> s
def doQuery(pDict, p):
    #在pDict中查询p,如果查到则输出该点及其出现次数,否则输出</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Not Found</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">。
    </span><span style="color: rgba(0, 0, 255, 1)">if</span> p <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> pDict:
      print(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">{} = {}</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">.format(p,pDict))
    </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">:
      print(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Not Found</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">)

n </span>= <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(input())
seed(</span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(input()))
pList </span>=<span style="color: rgba(0, 0, 0, 1)"> generatePoints(n)
pDict </span>=<span style="color: rgba(0, 0, 0, 1)"> createPointDict(pList)
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">):#查询3次
    x, y </span>= [<span style="color: rgba(0, 0, 255, 1)">int</span>(e) <span style="color: rgba(0, 0, 255, 1)">for</span> e <span style="color: rgba(0, 0, 255, 1)">in</span> input().split(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">,</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)]
    doQuery(pDict, (x, y))</span></pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-5 jmu-python-判断质数 (10 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>本题要求实现一个函数,判断参数是否是质数,是的话返回True,否则返回False</p>
<p>注意:函数中要有异常处理,如果参数不是整数,返回False</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">def isPrime(num)
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">
/* 请在这里填写答案 */
num=input()
if isPrime(num):
    print('yes')
else:
    print('no')

</code></pre>
<h3 id="-1-">输入样例1:</h3>
<pre><code class="lang-in">ab
</code></pre>
<h3 id="-1-">输出样例1:</h3>
<pre><code class="lang-out">no
</code></pre>
<h3 id="-2-">输入样例2:</h3>
<pre><code class="lang-in">1.1
</code></pre>
<h3 id="-2-">输出样例2:</h3>
<pre><code class="lang-out">no
</code></pre>
<h3 id="-3-">输入样例3:</h3>
<pre><code class="lang-in">11
</code></pre>
<h3 id="-3-">输出样例3:</h3>
<pre><code class="lang-out">yes
</code><br><br></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def isPrime(num):
    </span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">:
      num</span>=<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(num)
      </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,num):
            </span><span style="color: rgba(0, 0, 255, 1)">if</span> num%i==<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">:
                </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> False
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> True
    except:
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> False
num</span>=<span style="color: rgba(0, 0, 0, 1)">input()
</span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> isPrime(num):
    print(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">yes</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
</span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">:
    print(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">no</span><span style="color: rgba(128, 0, 0, 1)">'</span>)</pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-6 jmu-python-函数-找钱 (10 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>买单时,营业员要给用户找钱。营业员手里有10元、5元、1元(假设1元为最小单位)几种面额的钞票,其希望以<br>尽可能少(张数)的钞票将钱换给用户。比如,需要找给用户17元,那么其需要给用户1张10元,1张5元,2张1元。<br>而不是给用户17张1元或者3张5元与2张1元。</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">giveChange(money) #money代表要找的钱,为整数。该函数经过计算,然后按照格式"要找的钱 = x*10 + y*5 + z*1"直接输出。
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">/* 请在这里填写答案 */
n =int(input())
for i in range(n):
    giveChange(int(input()))
</code></pre>
<h3 id="-">输入样例:</h3>
<pre><code class="lang-in">5
109
17
10
3
0
</code></pre>
<h3 id="-">输出样例:</h3>
<pre><code class="lang-out">109 = 10*10 + 1*5 + 4*1
17 = 1*10 + 1*5 + 2*1
10 = 1*10 + 0*5 + 0*1
3 = 0*10 + 0*5 + 3*1
0 = 0*10 + 0*5 + 0*1
</code><br><br></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def giveChange(a):
    a10, a5, a1 </span>=<span style="color: rgba(128, 0, 128, 1)">0</span>, <span style="color: rgba(128, 0, 128, 1)">0</span>, <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
    a10 </span>= a<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">10</span>
    a5 = (a%<span style="color: rgba(128, 0, 128, 1)">10</span>)<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">5</span>
    a1 = (a%<span style="color: rgba(128, 0, 128, 1)">10</span>)%<span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">
    print(</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">{} = {}*10 + {}*5 + {}*1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">.format(a, a10, a5, a1))
    </span></pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-7 jmu-python-杨辉三角 (10 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>根据输入的n打印n行杨辉三角型。</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">printYanghui(n):#打印n行杨辉三角型
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">/* 请在这里填写答案 */
n = int(input())      
printYanghui(n)
</code></pre>
<h3 id="-">输入格式:</h3>
<p>输入n,转化为整数</p>
<h3 id="-">输出格式:</h3>
<p>每个数后面均有一个空格。</p>
<h3 id="-">输入样例:</h3>
<pre><code class="lang-in">5
</code></pre>
<h3 id="-">输出样例:</h3>
<pre><code class="lang-out">    1
   1 1
1 2 1
1 3 3 1
1 4 6 4 1
</code><br><br></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def printYanghui(n):
    num</span>=<span style="color: rgba(0, 0, 0, 1)">[]
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(n+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
      num</span>+=<span style="color: rgba(0, 0, 0, 1)">[[]]
      </span><span style="color: rgba(0, 0, 255, 1)">for</span> j <span style="color: rgba(0, 0, 255, 1)">in</span> range(n+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
            num</span>+=[<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">]
    num[</span><span style="color: rgba(128, 0, 128, 1)">1</span>][<span style="color: rgba(128, 0, 128, 1)">1</span>]=<span style="color: rgba(128, 0, 128, 1)">1</span>
    <span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">2</span>,n+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
      </span><span style="color: rgba(0, 0, 255, 1)">for</span> j <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">1</span>,n+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
            num</span>=num+num
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">1</span>,n+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
      </span><span style="color: rgba(0, 0, 255, 1)">for</span> k <span style="color: rgba(0, 0, 255, 1)">in</span> range(n-<span style="color: rgba(0, 0, 0, 1)">i):
            print(</span><span style="color: rgba(128, 0, 0, 1)">""</span>,end=<span style="color: rgba(128, 0, 0, 1)">'</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
      </span><span style="color: rgba(0, 0, 255, 1)">for</span> j <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">1</span>,i+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
            print(num,end</span>=<span style="color: rgba(128, 0, 0, 1)">'</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
      print()



n </span>= <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(input())      
printYanghui(n)</span></pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-8 jmu-java&amp;python-统计字符个数 (10 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>编写程序统计1行字符串中:</p>
<ol>
<li>不同字符的个数。</li>
<li>每种字符出现的次数。</li>
</ol>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">Freq(line)
</code></pre>
<p><strong>函数功能:</strong>该函数统计不同字符出现的次数,并最后按照字符升序进行输出。输出格式见输出样例。<br><strong>参数说明:</strong>line为需要统计的字符串。</p>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">/* 请在这里填写答案 */
line = input()
Freq(line)
</code></pre>
<h3 id="-">输入样例:</h3>
<pre><code class="lang-in">abc 123 adex!!!
</code></pre>
<h3 id="-">输出样例:</h3>
<pre><code class="lang-out">11
= 2
! = 3
1 = 1
2 = 1
3 = 1
a = 2
b = 1
c = 1
d = 1
e = 1
x = 1
</code></pre>
<h3 id="-">输出格式说明:</h3>
<ol>
<li>第1行输出不同字符的个数。</li>
<li><strong>=</strong>两边应有空格。</li>
<li>上述输出样例中第2行的字符是空格。</li>
<li>输出按照字符升序排列。</li>
</ol>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def Freq(line):<br>&nbsp;&nbsp;&nbsp; words=line<br>&nbsp;&nbsp;&nbsp; s={}<br>&nbsp;&nbsp;&nbsp; for i in words:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if i in s:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s+=1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=1<br>&nbsp;&nbsp;&nbsp; s=list(s.items())<br>&nbsp;&nbsp;&nbsp; print(len(s))<br>&nbsp;&nbsp;&nbsp; s.sort(key=lambda x:x)<br>&nbsp;&nbsp;&nbsp; for i in range(len(s)):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; word,count=s<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print("{} = {}".format(word,count))<br><br>line = input()<br>Freq(line)<br><br></span></pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-9 6-1.使用函数求特殊a串数列和 (30 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>给定两个均不超过9的正整数a和n,要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">
fn(a,n)
其中 a 和 n 都是用户传入的参数。 a 的值在范围;n 是区间内的个位数。函数须返回级数和
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">
/* 请在这里填写答案 */
               
a,b=input().split()
s=fn(int(a),int(b))
print(s)
</code></pre>
<h3 id="-">输入样例:</h3>
<p>在这里给出一组输入。例如:</p>
<pre><code class="lang-in">2 3
</code></pre>
<h3 id="-">输出样例:</h3>
<p>在这里给出相应的输出。例如:</p>
<pre><code class="lang-out">246
</code></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def fn(a,n):
    sum</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">1</span>,n+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
      c</span>=<span style="color: rgba(0, 0, 0, 1)">a
      </span><span style="color: rgba(0, 0, 255, 1)">for</span> j <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">0</span>,i-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
            c</span>=a+c*<span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">
      sum</span>=sum+<span style="color: rgba(0, 0, 0, 1)">c
    </span><span style="color: rgba(0, 0, 255, 1)">return</span> sum</pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-10 6-2.使用函数求素数和 (20 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>使用函数求素数和</p>
<p>prime(p), 其中函数prime当用户传入参数p为素数时返回True,否则返回False. PrimeSum(m,n),函数PrimeSum返回区间内所有素数的和。题目保证用户传入的参数1&lt;=m&lt;n。</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">在这里描述函数接口:
prime(p),返回True表示p是素数,返回False表示p不是素数
PrimeSum(m,n),函数返回素数和
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">
/* 请在这里填写答案 */

m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))
</code></pre>
<h3 id="-">输入样例:</h3>
<p>在这里给出一组输入。例如:</p>
<pre><code class="lang-in">1 10
</code></pre>
<h3 id="-">输出样例:</h3>
<p>在这里给出相应的输出。例如:</p>
<pre><code class="lang-out">17
</code></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def prime(p):
    </span><span style="color: rgba(0, 0, 255, 1)">if</span> p&lt;=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">:
      </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> False
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,p):
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> p%i==<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">:
            </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> False
    </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> True

def PrimeSum(m,n):
    sum</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(m,n+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
      </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> prime(i):
            sum</span>+=<span style="color: rgba(0, 0, 0, 1)">i
    </span><span style="color: rgba(0, 0, 255, 1)">return</span> sum</pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-11 6-3 使用函数统计指定数字的个数 (20 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>本题要求实现一个统计整数中指定数字的个数的简单函数。</p>
<p>CountDigit(number,digit )</p>
<p>其中number是整数,digit为区间内的整数。函数CountDigit应返回number中digit出现的次数。</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">在这里描述函数接口。例如:
CountDigit(number,digit ),返回digit出现的次数
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">
/* 请在这里填写答案 */

number,digit=input().split()
number=int(number)
digit=int(digit)
count=CountDigit(number,digit )
print("Number of digit 2 in "+str(number)+":",count)
</code></pre>
<h3 id="-">输入样例:</h3>
<p>在这里给出一组输入。例如:</p>
<pre><code class="lang-in">-21252 2
</code></pre>
<h3 id="-">输出样例:</h3>
<p>在这里给出相应的输出。例如:</p>
<pre><code class="lang-out">Number of digit 2 in -21252: 3
</code></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def CountDigit(number,digit ):
    count</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">if</span> number&lt;<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">:
      number</span>=-<span style="color: rgba(0, 0, 0, 1)">number
    </span><span style="color: rgba(0, 0, 255, 1)">while</span> number&gt;<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">:
      i</span>=number%<span style="color: rgba(128, 0, 128, 1)">10</span>
      <span style="color: rgba(0, 0, 255, 1)">if</span> i==<span style="color: rgba(0, 0, 0, 1)">digit:
            count</span>+=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
      number</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">=10</span>
    <span style="color: rgba(0, 0, 255, 1)">return</span> count</pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-12 6-5.使用函数求余弦函数的近似值 (20 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>本题要求实现一个函数,用下列公式求cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加):</p>
<p>cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?</p>
<p>函数接口定义:funcos(eps,x ),其中用户传入的参数为eps和x;函数funcos应返回用给定公式计算出来,保留小数4位。</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">函数接口:
funcos(eps,x ),返回cos(x)的值。
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">在这里给出函数被调用进行测试的例子。例如:


/* 请在这里填写答案 */

eps=float(input())
x=float(input())
value=funcos(eps,x )
print("cos({0}) = {1:.4f}".format(x,value))
</code></pre>
<h3 id="-">输入样例:</h3>
<p>在这里给出一组输入。例如:</p>
<pre><code class="lang-in">0.0001
-3.1
</code></pre>
<h3 id="-">输出样例:</h3>
<p>在这里给出相应的输出。例如:</p>
<pre><code class="lang-out">cos(-3.1) = -0.9991
</code></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def funcos(eps,x ):
    sum</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
    i</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
    count</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">while</span><span style="color: rgba(0, 0, 0, 1)"> True:
      c</span>=<span style="color: rgba(128, 0, 128, 1)">1</span>
      <span style="color: rgba(0, 0, 255, 1)">for</span> j <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>*i+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
            c</span>=c*<span style="color: rgba(0, 0, 0, 1)">j
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> ((x**(<span style="color: rgba(128, 0, 128, 1)">2</span>*i))/c)&lt;<span style="color: rgba(0, 0, 0, 1)">eps:
            </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> sum
            </span><span style="color: rgba(0, 0, 255, 1)">break</span>
      <span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">:
            </span><span style="color: rgba(0, 0, 255, 1)">if</span> count%<span style="color: rgba(128, 0, 128, 1)">2</span>==<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">:
                sum</span>=sum+(x**(<span style="color: rgba(128, 0, 128, 1)">2</span>*i))/<span style="color: rgba(0, 0, 0, 1)">c
            </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">:
                sum</span>=sum-(x**(<span style="color: rgba(128, 0, 128, 1)">2</span>*i))/<span style="color: rgba(0, 0, 0, 1)">c
      i</span>+=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
      count</span>+=<span style="color: rgba(128, 0, 128, 1)">1</span></pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-13 6-4.使用函数输出指定范围内Fibonacci数的个数 (20 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0&lt;m&lt;n≤100000)之间的所有Fibonacci数的数目。 所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,fib(0)=fib(1)=1。其中函数fib(n)须返回第n项Fibonacci数;函数PrintFN(m,n)用列表返回中的所有Fibonacci数。</p>
<h3 id="-">函数接口定义:</h3>
<pre><code class="lang-python">在这里描述函数接口。例如:
fib(n),返回fib(n)的值
PrintFN(m,n),用列表返回中的所有Fibonacci数。
</code></pre>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">在这里给出函数被调用进行测试的例子。例如:
/* 请在这里填写答案 */

m,n,i=input().split()
n=int(n)
m=int(m)
i=int(i)
b=fib(i)
print("fib({0}) = {1}".format(i,b))
fiblist=PrintFN(m,n)
print(len(fiblist))
</code></pre>
<h3 id="-">输入样例:</h3>
<p>在这里给出一组输入。例如:</p>
<pre><code class="lang-in">20 100 6
</code></pre>
<h3 id="-">输出样例:</h3>
<p>在这里给出相应的输出。例如:</p>
<pre><code class="lang-out">fib(6) = 13
4
</code></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def fib(n):
    </span><span style="color: rgba(0, 0, 255, 1)">if</span> n==<span style="color: rgba(128, 0, 128, 1)">0</span> or n==<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">:
      </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(128, 0, 128, 1)">1</span>
    <span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">:
      </span><span style="color: rgba(0, 0, 255, 1)">return</span> fib(n-<span style="color: rgba(128, 0, 128, 1)">1</span>)+fib(n-<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">)

def PrintFN(m,n):
    a</span>=<span style="color: rgba(0, 0, 0, 1)">[]
    #</span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(m,n+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> j <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">26</span><span style="color: rgba(0, 0, 0, 1)">):
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> m&lt;=fib(j)&lt;=<span style="color: rgba(0, 0, 0, 1)">n:
            a.append(fib(j))
    #print(a)
    </span><span style="color: rgba(0, 0, 255, 1)">return</span> a</pre>
</div>
<div class="main_3HOuc" style="max-width: calc(100% - 120px)">
<div class="text-center black-3 text-4 font-weight-bold my-3">6-14 计算素数和 (20 分)</div>
</div>
<div class="problem_2tXnk p-3 mb-3 background-grey-1">
<div class="ques-view">
<p>本题要求计算输入两个正整数x,y(x&lt;=y,包括x,y)素数和。函数isPrime用以判断一个数是否素数,primeSum函数返回素数和。</p>
<h3 id="-">输入格式:</h3>
<p>输入两个整数。</p>
<h3 id="-">输出格式:</h3>
<p>间的素数和</p>
<h3 id="-">裁判测试程序样例:</h3>
<pre><code class="lang-python">/* 请在这里填写答案 */

x,y =map(int, input().split())
print(primeSum(x,y))
</code></pre>
<h3 id="-">输入样例:</h3>
<pre><code class="lang-in">2 8
</code></pre>
<h3 id="-">输出样例:</h3>
<pre><code class="lang-out">17
</code></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">def isPrime(num):
    num</span>=<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)">(num)
    </span><span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,num):
      </span><span style="color: rgba(0, 0, 255, 1)">if</span> num%i==<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> :
            </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> False
    </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> True
def primeSum(a,b):
    sum</span>=<span style="color: rgba(128, 0, 128, 1)">0</span>
    <span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span> range(a,b+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">):
      </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> isPrime(i):
            sum</span>+=<span style="color: rgba(0, 0, 0, 1)">i
    </span><span style="color: rgba(0, 0, 255, 1)">return</span> sum       </pre>
</div>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<pre><br><br></pre>
</div>
</div>

</div>
<div id="MySignature" role="contentinfo">
    <br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
🍀取乎其上,得乎其中;取乎其中,得乎其下;取乎其下,则无所得矣🍀
<br>
🍀每天都要有收获(*/ω\*)🍀
<br>
🍀后悔是没有用的,从现在开始,立刻马上去做(≧∀≦)ゞ🍀<br><br>
来源:https://www.cnblogs.com/zhying99/p/11167059.html
頁: [1]
查看完整版本: python函数题