##Python语言程序设计 刘卫国主编 课后实验

a=2
b=1234
c=a+int(b)%10
print(a,'\t',b,'\t',c)

import math
dir(math)
help(math)

x=12
y=x
id(x),id(y)

a=int(float('7.34'))%4
print(a)

b=1<<10|10
print(b)


import math
math.pi
c=4/3*(math.pi)**3  #这里%是取余运算/才是数学运算中的除法
print(c)


#print(math.sqrt(9))#开根号运算


import cmath
print(2/(1-(0+7J)**0.5))#法1
print(2/(1-cmath.sqrt(0+7J)))#法2


x=12
y=10e-5
import math
print(1+x/math.factorial(3)-y/math.factorial(5))

x=12
y=10e-5
import math
print(2*math.log(math.fabs(x-y))/(math.exp(x+y)-math.tan(y)))

print(math.sin(x)+math.cos(y)/(x**2+y**2)+x**y/(x*y))

print(math.e**((math.pi)/2*x)+math.log10(math.fabs(x-y)/(x+y)))


import math
p=(math.pi)**2
print(p)


a=list(range(15))
b=list(range(1,15))
print(a)
print(b)



print(list(range(1,100,2)))


print("byebye,python program")
import math
a=2
b=3
print(math.fabs(a-b))


i,j=3,4
i,j=2j,i
s=i+j
print("s=",s)

import math
x=(1+math.pi)**(1/3)
y=(math.e**(-x)-math.tan(73))/(1e10-5+math.log(math.fabs(math.sin(x)**2-math.cos(x)**2),math.e))
print(y)

a=int(input())
if a>40:
    print("a1=",a)
    if a<50:
        print("a2=",a)
if a>30:
    print("a3=",a)


x=2.1
y=2.0
if (x-y)-0.1<1e-6:
    print("equal")
else:
    print("not equal")


m=int(input())
if m%3==0 or m%7==0:
    print("yes")
else:
    print("no")


n=int(input())
if n%2==0:
    print(n**3)
else:
    print(n**2)##法1

n=int(input())
p=n%2
if p:#奇数
    print(n**2)
if not p:#偶数
    print(n**3)#法2

n=int(input())
p=n**(1/3) if n%2==0 else n**2
print(p)


x,y,z = map(int, input().split())
p=x**2+y**2+z**2
if p>1000:
    print(int(p/1000))
else:
    print(p)

x,y,z = map(int, input().split())
if x+y>z and y+z>x and x+z>y:
    print("可以构成三角形")
    if((x==y and x!=z )or(x==z and x!=y)or(y==z and y!=x)):
        print("该三角形是等腰三角形")
    elif(x==y and x==z):
        print("该三角形是等边三角形") 
    elif(x**2+y**2==z**2 or x**2+z**2==y**2 or y**2+z**2==x**2):
        print("该三角形是直角三角形")
    else:
        print("该三角形是普通三角形")
else:
    print("不能构成三角形")


a,b,c=eval(input("请输入当前日期:"))
x,y,z=eval(input("请输入你的出生日期:"))
if(b-y>=1):
    print("你今年%d岁"%(a-x+1))
else:
    print("你今年%d岁"%(a-x))


p,w,s=eval(input("请分别输入基本运费,货物重量,距离:"))
if s<250:
    d=0
elif 250<=s<500:
    d=0.025
elif 500<=s<1000:
    d=0.045
elif 1000<=s<2000:
    d=0.075
elif 2000<=s<2500:
    d=0.09
elif 2500<=s<3000:
    d=0.12
else:
    d=0.15
f=p*w*s*(1-d)
print(f)



i=1
while i+1:
    if i>4:
        print(i)
        i+=1
        break
    print(i)
    i+=2


sum=j=1
while j<=3:
    f=1
    for i in range(2,2*(j+1)):
        f*=i
    sum+=f
    j+=1
print("sum=",sum)


import math
n=0
for m in range(101,201,2):
    k=int(math.sqrt(m))
    for i in range(2,k+2):
        if m%i==0:break
    if i== k+1:
        if n%10==0:print()
        print(m,end=' ')
        n+=1


max1=min1=0
for i in range(1,6):
    sum=0
    for j in range(1,7):
        x=int(input())
        sum+=abs(x)
    if sum>max1:max1=sum
    if i==1 or sum<min1:min1=sum
print(max1,min1)


n=int(input("请输入n的值:"))
sum1=sum2=0.0
for i in range(1,4*n,4):
    fz=1
    fm=i*1.0
    sum1=sum1+(fz/fm)

for i in range(3,4*n,4):
    fz=1
    fm=i*1.0
    sum2=sum2+(fz/fm)
sum=float(sum1-sum2)
print("n的值是",(sum*4))


import math
i=1
sum=0
flag=1
num=(1/i)*flag
while abs(num) >=math.pow(10,-6):
    sum+=num
    i+=2
    flag=-flag
    num=(1/i)*flag
print("n:%f"%(sum*4))


fz=2.0
fm=1.0
sum=0.0
for i in range(1,21):
    s=(float)(fz/fm)
    fz,fm=(fz+fm),fz
    sum+=s
print(sum)

import math
for i in range(100,1000):
    x=int(i/100)
    y=int(i/10%10)
    z=int(i%10)
if(i/9 !=0):
    shang=int(i/9)
    if(shang==(x**2+y**2+z**2)):
        print(i)


import math
for i in range(2,1001):
    sum=0
    for j in range(1,i):
        if(i%j==0):
            sum=sum+j
        if(sum==i):
            print(i)


sum=0
n=int(input("请输入n的值:"))
for i in range(1,n):
    if i%2==0:
        x=i/2
        y=i**3
    else:
        x=i
        y=i**2
    z=x+y
    sum+=z
print(sum)


for j in range(3,1001):
    s=0
    for i in range(1,j):
        s+=1/i
        if s-8>0 and s-8<1e-17:
            print(int(i))

sum=0
for i in range(1,2000):
        sum+=1
        while sum-8<1e-3  and sum-8>0:
            print(sum)
            print(i)
            break

sum=0
for i in range(1,2000):
    sum+=1/i
    while 8-sum<1e-3 and 8-sum>0:
        print(sum)
        print(i)
        break




m=0
for i in range(1,101):
    n=0
    for j in range(1,i):
        if i%j==0:
            n+=1
    if n%2!=0:
        max=i
        m+=1
        print("{0}的因子的个数为{1}.".format(i,n))
print(m,max)


for i in range(1,21):
    x=(2**i)-1
    for j in range(2,x):
        if x%j!=0:
            print(x)
            break##???


for a in range(1,100):
    for b in range(1,100):
        for c in range(1,100):
            if a>b>c:
                if a+b+c<100:
                    if 1/(a**2)+1/(b**2)==1/(c**2):
                        print(a,b,c)


c='123'+'456'+'789'
c+=c[-3:]*2
print(c)

for k in range(1,11):
    w=input()
    if  'AEIOUaeiou'.find(w[0])>=0:print(w)


for i in range(1,6):
    print(' '*(15-i),end=' ')
    print('*'*(2*i-1))


s=input("请输入一个语句:")
keywords=['while','for']
flag=0
for key in keywords:
    if s.find(key)>-1:
        flag=1
        break
if flag==1:
    print("是循环语句")
else:
    print("不是循环语句")


s=input("请输入一个字符串:")
zm=0
kg=0
sz=0
qt=0
for c in s:
    if c.isalpha():
        zm+=1
    elif c.isspace():
        kg+=1
    elif c.isdigit():
        sz+=1
    else:
        qt+=1
print('zm=%d,kg=%d,sz=%d,qt=%d'%(zm,kg,sz,qt))


#6
str=input("输入一个英文句子:")
for i in range(len(str)):
    if(str[i].islower()):
        print(str[i].upper(),end="")
    else:
        print(str[i],end="")#法1

str=input("请输入一个英文句子:")
print(str.upper())#法2


a=[50,75,53,92,77,64,79,21]
s=[0]*10
for i in range(len(a)):
    k=a[i]//10
    s[k]=s[k]+1
m=s[0]
k=1
while k<10:
    if s[k]>m:
        m=s[k]
    k+=1
print('m=',m)


p=[]#元组内元素不允许修改,列表内元素允许修改
for i in range(10):
 x=int(input())
 p.append(x)
print(p)



from math import *
n = int(input("请输入n:"))
m = int(sqrt(n))
p = [i for i in range(n + 1)]
for i in range(2, m + 1):
    if p[i]: 
        for j in range(2*i, n+1,i):  #去掉i的倍数
            p[j] = 0
for i in range(2, n+1):  #输出全部素数
    if p[i]:
        print(p[i],end=' ')


s=input()
l=list(s)
l.reverse()
print(l)


a=[1,2,3,4,5,6]
b=[]
for i in a:
    if(i%2==0):
        b.append(i*i)
    else:
        b.append(i)
print(b)


import random
y=[random.randint(10,99)for i in range(100)]#随机数在10和99之间包含10和99放入列表内
for i in y:
    print(i,y.count(i),'次',end=' ')
    

import random
x=[random.randint(1,10) for i in range(20)]
print("生成的随机数为:{0}".format(x))
y=x[0:10]
y.sort()
x[0:10]=y
y=x[10:20]
y.sort(reverse=True)#排序后倒序输出
x[10:20]=y
print("排序后的元组为:{0}".format(tuple(x)))



count = 1
a=[]
for i in range(0, 5):
    temp=[]
    for j in range(0, 5):
        temp.append(count)
        count+=1
    a.append(temp)
print(a)

b = a[1]
a[1] = a[4]
a[4] = b
print(a)

for m in range(1, 6):#f防止分母为零
    a[m - 1][m - 1] = a[m - 1][m - 1] / m
print(a)


d={'jack':'jack@mail.com','tom':'tom@mail.com'}
d['jim']='jim@sin.com'
del d['tom']
s=list(d.keys())
s=sorted(s)
print(s)

numbers={}
numbers[(1,2,3)]=1
numbers[(2,1)]=2
numbers[(1,2)]=3
sum=0
for k in numbers:
    sum+=numbers[k]
print(len(numbers),sum,numbers)


a=set('ababcdabca')
x={x for x in a if x not in 'ab'}
print(a-x)
print(a|x)
print(a^x)
print(a&x)



x=int(input())
a=set()
for i in range(5):
    a.add(int(input()))
b=[12,43,56,2]
c=[3,2,67]
if x in a:
    y=1
elif x in b:
    y=2
elif x in c:
    y=3
else:
    y=4
print('y=',y)



a={'Mon':'星期一','Tues':'星期二','Wed':'星期三','Thur':'星期四','Fri':'星期五','Sat':'星期六','Sun':'星期日'}
b=list(a.keys())
c=list(a.values())
print(b)
print(c)
print(a)





dic={}
for i in range(0,3):
    key=input('输入主键:')
    values=input('输入值:')
    dic[key]=values
a=list(dic.keys())
b=list(dic.values())
print(a)
print(b)
print(dic)
##
##


dic={}
for i in range(0,3):
    key=input('输入主键:')
    values=int(input('输入值:'))
    dic[key]=values
a=list(dic.keys())
b=list(dic.values())
low=min(b)
high=max(b)
average = int(sum(list(dic.values()))/len(list(dic.values())))
print('最低成绩:',low)
print('最高成绩:',high)
print('平均成绩: ',average)
##
import random
A=set()
B=set()
while(len(A)!=10 or len(B)!=10):
    a=random.randint(0,10)
    A.add(a)
    b=random.randint(0,10)
    B.add(b)
print('A:',A)
print('B:',B)
print('A的长度是{0},最大值是{1},最小值是{2}'.format(len(A),max(A),min(A)))
print('B的长度是{0},最大值是{1},最小值是{2}'.format(len(B),max(B),min(B)))
print('A和B的并集是{0}'.format(A|B))
print('A和B的交集是{0}'.format(A&B))
print('A和B的差集是{0}'.format(A-B))


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()


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)



def gcd(m,n):
    if m<n:
        m,n=n,m
    if m%n==0:
        return n
    else:
        return gcd(n,m%n)
ans=gcd(84,342)
print(ans)


import math
def foo(x,y,z):
    a=x/(x**2+y**2+z**2)**0.5
    b=y/(x**2+y**2+z**2)**0.5
    c=z/(x**2+y**2+z**2)**0.5
    print(a,b,c)
x,y,z=map(int,input('请输入三个整数,空格间隔:').split())
foo(x,y,z)


def pos(n,m):
    if n>m:
        k=int(n-m+1)
        print('整数n从右边开始数的第m的数为:',k)
    else:
        print('不存在')
n,m=map(int,input('请分别输入整数n,位置k,空格间隔;').split())
pos(n,m)




def fun(d,n):
    if str(d) in str(n):
        return True
    else:
        return False
d=input('请输入d的值:')
n=input('请输入n的值:')
print(fun(d,n))



def s(x,n):
    s=0
    for i in range (1,n+1):
        fm=1
        for j in range(1,i+1):
            fm*=j
        s+=(x**2)/fm
    return s
x,n=map(int,input('请输入x和n的值:').split())
y=s(x,n)/(s(x+1.75,n)+s(x,n+5))
print(y)


import math
def s(x,n):
    sum=0
    for i in range(1,n+1):
        sum+=(x**n/math.factorial(n))#######有错误
    return sum
x,n=map(int,input('请输入x,n的值:').split())
y=s(x,n)/(s(x+1.75,n)+s(x,n+5))
print(y)

import math
x=int(input())
y=math.factorial(x)    ##test
print(y)




def fib(a,b,n):
    if n==1:
        return a
    if n==2:
        return b
    return fib(b,a+b,n-1)
maxitem=0
num=0
i=1
while True:
    maxitem = fib(1,1,i)
    if(maxitem>=5000):
        print(num)
        break
    num=maxitem
    i+=1

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()


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()



import math
class Circle:
    def __init__(self,radius=5):    #完成构造函数
        self.radius=radius
    def getPerimeter(self):
        return 2*math.pi*self.radius
    def getArea(self):
        return math.pi*self.radius*self.radius
c1=Circle()
c2=Circle(10)                       #向构造函数传递新的参数
print(c1.radius, c1.getPerimeter(), c1.getArea())
print(c2.radius, c2.getPerimeter(), c2.getArea())


class Factorial:
    def fac (self,num):
        factorial = 1
        for i in range(1,num+1):
            factorial *= i
        return factorial
        
if __name__ == '__main__':
    factorial = Factorial()
    n=int(input('请输入n:'))
    print(n,'!=',factorial.fac(n))


class Change:
    import math
    def rad_to_ang(self,radian):
        return radian*180/math.pi
    def ang_to_rad(self,angle):
        return angle*math.pi/180
    
if __name__ == '__main__':
    import math
    change=Change()
    print('{0}弧度 = {1}°'.format(math.pi,change.rad_to_ang(math.pi)))
    print('{0}° = {1}弧度'.format(90,change.ang_to_rad(90)))


class Point:
	def cal_distance(self,p1,p2):
		import math
		return math.sqrt(math.pow((p2[0] - p1[0]), 2) + math.pow((p2[1] - p1[1]), 2))
if _name_=='_main_':
	point=Point()
  	p1=[0,0]
   	p2=[1,1]
    	print('点{0}与点{1}之间的距离{2}'.format(p1,p2,point.cal_distance(p1,p2)))


class Rectangle:
    def get_perimeter(self,length,width):
        return 2*(length+width)
    def get_area(self,length,width):
        return length*width
if __name__ == '__main__':
    rectangle=Rectangle()
    print('长{0}宽{1}的长方形:周长={2},面积={3}'.format(3,7,rectangle.get_perimeter(3,7),rectangle.get_area(3,7)))
    print('长{0}宽{1}的长方形:周长={2},面积={3}'.format(14,14,rectangle.get_perimeter(14,14),rectangle.get_area(14,14))) 



  • 9
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值