In [ ]:
练习 1仿照求的完整代码写程序可求m!+n!+k!

In [11]:
def compute_factorial(end):
    i=1
    multiply=1
    
    while i<=end:
        multiply=multiply*i
        i=i+1
        
    return multiply

m=int(input('请输入第1个整数,回车结束。'))
n=int(input('请输入第2个整数,回车结束。'))
k=int(input('请输入第3个整数,回车结束。'))

print('最终的和是:',compute_factorial(m)+compute_factorial(n)+compute_factorial(k))


请输入第1个整数,回车结束。2
请输入第2个整数,回车结束。3
请输入第3个整数,回车结束。1
最终的和是: 9

In [ ]:
练习 2写函数可返回1 - 1/3 + 1/5 - 1/7...的前n项的和在主程序中分别令n=1000及100000打印4倍该函数的和

In [8]:
def compute_sum(end):
    m=1
    i=0
    total_n=0
    
    while m<end:
        if m%2 !=0:
            i=1/(2*m-1)
        else:
            i=(-1)/(2*m-1)
           
        m+=1
        total_n=total_n+i
            
    return total_n
            
n=int(input('请输入你想输入的项数,回车结束。'))
print('结果是:',4*compute_sum(n))


请输入你想输入的项数,回车结束。10000
结果是: 3.1416926635905345

In [ ]:
#task3 练习一 改写#

In [7]:
def constellation(m,n):
    if m==1:
        if n<=19:
            print('你是非常有性格的摩羯座')
        else:
            print('你是非常有性格的水瓶座')
    elif m==2:
        if n<=18:
            print('你是非常有性格的水瓶座')
        else:
            print('你是非常有性格的双鱼座')
    elif m==3:
        if n>=21:
            print('你是非常有性格的白羊座')
        else:
            print('你是非常有性格的双鱼座')
    elif m==4:
        if n<=19:
            print('你是非常有性格的白羊座')
        else:
            print('你是非常有性格的金牛座')
    elif m==5:
        if n<=21:
            print('你是非常有性格的金牛座')
        else:
            print('你是非常不一样的双子座')
    elif m==6:
        if n<=21:
            print('你是非常不一样的双子座')
        else:
            print('你是非常有性格的巨蟹座')
    elif m==7:
        if n<=22:
            print('你是非常有性格的巨蟹座')
        else:
            print('你是非常有性格的狮子座')
    elif m==8:
        if n<=22:
            print('你是非常有性格的狮子座')
        else:
            print('你是非常有性格的处女座')
    elif m==9:
        if n<=22:
            print('你是非常有性格的处女座')
        else:
            print('你是非常有性格的天秤座')
    elif m==10:
        if n<=23:
            print('你是非常有性格的天秤座')
        else:
            print('你是非常有性格的天蝎座')
    elif m==11:
        if n<=22:
            print('你是非常有性格的天蝎座')
        else:
            print('你是非常有性格的射手座')
    elif m==12:
        if n<=21:
            print('你是非常有性格的射手座')
        else:
            print('你是非常有性格的摩羯座')
    elif m==1:
        if n<=19:
            print('你是非常有性格的摩羯座')
        else:
            print('你是非常有性格的水瓶座')
    elif m==2:
        if n<=18:
            print('你是非常有性格的水瓶座')
        else:
            print('你是非常有性格的双鱼座')
                        
a=int(input('请输入你的出生月份,回车结束。'))
b=int(input('请输入你的出生日期,回车结束。'))
constellation(a,b)


请输入你的名字,回车结束。e
请输入你的出生月份,回车结束。6
请输入你的出生日期,回车结束。5
你是非常不一样的双子座

In [ ]:
#task3 练习四 改写#

In [16]:
def change(word):
    if word.endswith ('x'):
        print(word,'es',sep='')
    elif word.endswith ('sh'):
        print(word,'es',sep='')
    else:
        print(word,'s',sep='')

m=input('请输入一个单词,回车结束。')
change(m)


请输入一个单词,回车结束。dish
dishes

In [ ]:
挑战性练习写程序可以求从整数m到整数n累加的和间隔为k求和部分需用函数实现主程序中由用户输入mnk调用函数验证正确性

In [21]:
def my_sum(a,b):
    if a<=b:
        total=0
        while a<=b:
            total=total+a
            a+=1
    else:
        total=0
        while a>=b:
            total=total+b
            b+=1
    return total

m=int(input('请输入一个整数,回车结束。'))
k=int(input('请输入一个整数作为间隔,回车结束。'))
n=(m+k)
my_sum(m,n)


请输入一个整数,回车结束。3
请输入一个整数作为间隔,回车结束。4
Out[21]:
25