Python实验报告

Python实验报告,第1张

Python实验报告 第一部分   Python程序运行方式和程序流程控制

(1)请编写一个程序,能接收用户输入的一个复数的实部和虚部,输出其复数表示形式,并求其模。

import math
x=input('输入复数的实部和虚部:').split(',')
y=[]
for i in x:
    y.append(int(i))
m=tuple(y)
print(complex(m[0],m[1]))
p=math.sqrt(m[0]**2+m[1]**2)
print('这个复数的模长{0:.3f}'.format(p))

(1)运行结果

(2)编写一个程序,根据输入的3个成绩,计算平均分。

a=int(input('输入第一个数:'))
b=int(input('输入第二个数'))
c=int(input('输入第三个数:'))
n=(a+b+c)/3
print('三个数的平均数:'+format(n))

 (2)运行结果

(3)输出1000以内的素数以及这些素数之和。

x=[1,2,3]
for i in range(4,1001,1):
    for m in range(2,int(i**0.5+1),1):
        if i%m ==0:
            break
    if i%m!=0:
        x.append(i)
print(x)
print(sum(x))

 

(3)运行结果

(4)按公式s=12+22+32+...+n2,求累计加和,s不超过1000的最大项数n,程序运行结果如下所示:

n       s

1       1

2       5

3       14

4      30

......

累计和不超过1000的最大项数是n=13

a=0
print('n  s')
for i in range(1,100):
    n=(i**2)
    a+=n
    if a<=1000:
        print('{}  {}'.format(i,a))
    else:
        break
print('累计和不超过1000的最大项数是n={}'.format(i-1))

 (4)运行结果

 第二部分  Python函数

(1)编写函数,求出一个数除1和自身以外的因子。从键盘输入一个数,调用该函数输出除1和它自身以外的所有因子。

def edu(m):
    for i in range(2,m,1):
        if m%i==0:
            print(i)
x=int(input('请输入一个整数'))
edu(x)

(1)运行结果

(2)编写两个函数,分别求两个整数的最大公约数和最小公倍数,在主函数调用这两个函数,并输出结果。两个整数由键盘输入。 

def gys(m,n):
    min1=min(m,n)
    zgys=1
    for i in range(1,min1+1):
        if m%i==0 and n%i==0:
            zgys=i
    return zgys
def gbs(m,n):
    zgys=gys(m,n)
    zgbs=m*n/zgys
    return zgbs
m=int(input('请输入第一个数:'))
n=int(input('请输入第二个数:'))
print('最大公约数为{0:d}'.format(gys(m,n)))
print('最小公倍数为{0:.0f}'.format(gbs(m,n)))

(2)运行结果

(3)编写程序,利用元组作为函数的返回值,求系列类型的最大值、最小值和元素个数,并编写测试代码。假设测试数据分别为:

   S1=[9,7,8,3,2,1,55,6]

   S2=[“apple”,“pear”,“melon”,“kiwi”]

   S3=”TheQuickBrownFox”。

程序运行效果如下所示:

        List =[9,7,8,3,2,1,55,6]

        最大值=55,最小值=1,元素个数=8

        List =[“apple”,“pear”,“melon”,“kiwi”]

        最大值= pear,最小值= apple,元素个数=4

        List =“TheQuickBrownFox”

        最大值=x,最小值=B,元素个数=16

     提示:

     函数形参为系列类型,返回值形如“(最大值,最小值,元素个数)”

def emo(x):
    i=max(x)
    j=min(x)
    k=len(x)
    print('最大值%s'%i)
    print('最小值%s'%j)
    print('元素个数是[0]'.format(k))
    return i,j,k
s1=[9,8,7,3,2,1,55,6]
s2=['apple','pear','melon','kiwi']
s3='TheQuickBrownFox'
q=emo(s1)
print(q)
w=emo(s2)
print(w)
e=emo(s3)
print(e)

 

(3)运行结果

 第三部分  Python面向对象程序设计

(1)设计一个Circle类来表示园,这个类包含圆的半径以及求周长和面积的函数。再使用这个类创建半径为1~100的圆,并计算出相应的周长及面积。

from math import pi
class Circle(object):
    def _init_(self,a):
        self.a=a
    def edu(self):
        print('面积为{0:f},周长为{1:f}'.format((pi*a*a),(2*pi*a)))
print('请输入圆的半径:')
x=Circle()
a=int(input())
x.edu()

 (1)运行结果

(2)编写程序并测试,有一个汽车类Vehicle,类中的私有数据成员为车轮个数wheels和车重weight;小车类Car是汽车类vehicle派生类,其中包含载客人数passenger_load,默认4人;卡车类Truck是汽车类vehicle派生类,其中包含载客人数passenger_load和载重量payload。

提示:编写类时要使用get和set方法,Vehicle类定义display()显示车轮和重量,Car和Truck中要对display()进行同名覆盖。

class Vehicle():
    def _init_(self, weight, wheels):
        self.__weight = weight
        self.__wheels = wheels
    def get(self):
        return self.__weight,self.__wheels
    def set(self,weight,wheels):
        self.__weight=weight
        self.__wheels=wheels
    def display(self):
        print(self.__weight, self.__wheels)
class Car(Vehicle):
    def __init__(self, weight, wheels, passenger_load=4):
        self.__weight = weight
        self.__wheels = wheels
        self.passenger_load = 4
    def display(self, passenger_load=4):
        print(passenger_load, self.__weight, self.__wheels)
class Truck(Vehicle):
    def __init__(self, passenger_load, payload):
        self._passenger_load = passenger_load
        self._payload = payload
    def display(self):
        print(self._passenger_load, self._payload)
if __name__ == '__main__':
    v = Vehicle()
    v.set(12, 13)
    print(v.get())
    v.display()
    c = Car(12, 13)
    c.set(12, 13)
    c.passenger_load = 14
    c.display()
    t = Truck(12, 98)
    t.set(12, 34)
    t.display()

 (2)运行结果

 (3)编写一个学生和教师数据输入和输出的程序。学生数据包括编号、姓名、班号、和成绩;教师的数据含有编号、姓名、职称和部门。要求设计一个person类,作为学生数据 *** 作类student和教师数据 *** 作类teacher的基类。

class person:
    def __init__(self,no,name):
        self.__no=no
        self.__name=name
    def show(self):
        print("编号:",self.__no,"姓名:",self.__name,end=' ')
class student(person):
    def __init__(self,no,name,ban,score):
        super(student,self).__init__(no,name)
        self.__ban=ban
        self.__score=score
    def show(self):
        super(student,self).show()
        print("班号:",self.__ban,"成绩:",self.__score)
class teacher(person):
    def __init__(self,no,name,level,dep):
        super(teacher,self).__init__(no,name)
        self.__level=level
        self.__dep=dep
    def show(self):
        super(teacher,self).show()
        print("职称:",self.__level,"部门:",self.__dep)
s=student(1,"张三",01,100)
s.show()
t=teacher(2,"李四","副教授","软件")
t.show()

(3)运行结果

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5658337.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存