-------------源文件已置顶-------------
1.写出程序的运行结果。
def foo (num) :
for j in range (2, num//2+1) :
if num&j==0:
return False
else:
return True
def main() :
n,c=8,0
for i in range (2,n+1) :
if foo(i) :
c+=i
print (c)
if __name__=='__main__:
main ()
2.写出程序的运行结果。
def foo(list, num) :
if num==1:
list .append(0)
elif num==2:
foo(list,1)
list .append(1)
elif num>2 :
foo (list, num-1)
list . append(list[-1]+list[-2])
mylist= []
foo (mylist, 10)
print (mylist)
3.下列程序的作用是求两个正整数m, n的最大公约数,请补充程序。
def gcd (m,n) :
if m<n:
m,n=n, m
if m&n==0:
_____(1)______
else:
return _____(2)______
ans=gcd(84, 342)
print (ans)
4.计算空间一点p(xy,z)的方向弦,其计算公式如下:
,,
其中,a、β、γ为点P到原点直线与坐标轴x、y、z的夹角。
5.定义一个函数,它返回整数n从右边开始数的第k个数字。
6.定义一个函数,如果数字d在整数n的某位中出现,则返回True, 否则返回False.
7.已知:
其中,输入x和n的值,求y值。要求分两种情况实现:直接在程序中定义函数s(x,n);在模块中定义函数s(x, n)。
8.若Fibonacci数列的第n项记为fib(a,b,n),则有下面的递归定义:
fib(a,b,1)=a
fib(a,b,2)=b
fib(a,b,n)=fib(b,a+b,n-1) (n>2)
用递归方法求5000之内最大的一项。
9.写出程序的运行结果。
class P1:
def foo(self) :
print('called P1-foo')
class P2:
def foo(self) :
print('called P2-foo')
def bar (self) :
print('called P2-bar')
class C1 (P1,P2) :
pass
class C2(P1,P2) :
def bar (self) :
print('called C2-bar () ')
class GC(C1,C2) :
pass
gc=GC()
gc.foo()
gc.bar ()
10.写出程序的运行结果。
import math
class Circle:
def __init__(self, radius) :
self. radius=radius
def getRadius (self) :
return self. radius
def getArea(self) :
return math.pi*self. radius*self. radius
def main() :
c1=Circle (10)
print (c1. getRadius())
print('{:7.2f}'.format (c1.getArea()))
if __name__=='__main__' :
main ( )
11.定义一个Circle类,根据圆的半径求周长和面积。再由Circle类创建两个圆对象,其半径分别为5和10,要求输出各自的周长和面积。请补充程序。
import math
class Circle:
def ____(1)____(self, radius=5) :
self. radius=radius
def getPerimeter(self) : #返回圆的周长
return 2*math.pi*self. radius
def getArea(self) : #返回圆的面积
return math.pi*self.radiusself.radius
c1=Circle() #创建两个圆对象
c2=_____(2)_____
print (c1. radius, c1.getPerimeter(),cl.getArea())
print (c2. radius, c2.getPerimeter (),c2.getArea())
12.利用面向对象方法求n!,并输出10!的值。
13.定义change类,用以实现角度和弧度之间的转换。
14.设计点类,并为这个点类设置一个方法来计算两个点之间的距离。
15.设计长方形类,并用其成员函数计算两个给定的长方形的周长和面积。
16.已有若干个学生数据,这些数据包括学号、姓名、程序设计基础成绩、高等数学成绩和英语成绩,要求定义学生类,并用其成员函数求各门课程的平均分。
17.写出程序的运行结果。
f=open ("a.dat","w")
for i in range(10) :
f.write(str (i) )
f.close ()
f=open("a,dat","r")
s=list (f. read() )
f.close ()
t=0
for i in s:
t+=int (i)
print (t)
18.写出程序的运行结果。
s=0
fo=open ("file. txt", "w+")
for i in range(1,10) :
fo.write(str (i) )
fo.seek (0)
ls=fo.read()
fo.close ()
for x in ls:
s+=int(x) if int(x)%2 else 0
print ("输出: {:d}". format(s))
19.有一个文本文件sample.txt, 其内容包含小写字母和大写字母。请将该文件复制到另文件sample_copy.txt中,并将原文件中的小写字母全部转换为大写字母,其余格式均不变。请补充程序。
f=open ("sample. txt")
L1=f. readlines ()
f2=open("sample_ copy. txt",______(1)______)
for line in L1 :
____(2)____(line .upper())
f.close ()
f2.close ()
20.设文件integer.dat中放了一组整数,统计文件中正整数、零和负整数的个数,将统计结果追加到文件integer.dat的尾部,同时输出到屏幕上。