仿照求$ \sum_{i=1}^mi + \sum_{i=1}^ni + \sum_{i=1}^ki$的完整代码,写程序,可求m!+n!+k!


In [1]:
def factorial_sum(end):
    i = 0
    factorial_n = 1

    while i < end:
        i = i + 1
        factorial_n = factorial_n *i

    return factorial_n

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

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


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

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


In [14]:
def number_sum(end):
    i=0
    total=0
    while i < end:
        i=i+1
        if i%2!=0:
            total=total+(1/(2*i-1))
        else:
            total=total-(1/(2*i-1))
    return total

n=1000
m=100000
print('当n=1000时,最终值为:',4*number_sum(n))
print('当n=100000时,最终值为:',4*number_sum(m))


当n=1000时,最终值为: 3.140592653839794
当n=100000时,最终值为: 3.1415826535897198

将task3中的练习1及练习4改写为函数,并进行调用

写程序,可由键盘读入用户姓名例如Mr. right,让用户输入出生的月份与日期,判断用户星座,假设用户是金牛座,则输出,Mr. right,你是非常有性格的金牛座!。

英文单词单数转复数,要求输入一个英文动词(单数形式),能够得到其复数形式,或给出单数转复数形式的建议(提示,some_string.endswith(some_letter)函数可以判断某字符串结尾字符,可尝试运行:'myname'.endswith('me'),liupengyuan'.endswith('n'))。


In [17]:
def constellation(name,month,day):
    if month==1 and day<21:
        print(name,'你是摩羯座!')
    if month==12 and day>21:
        print(name,'你是摩羯座!')
    if month==2 and day<19:
        print(name,'你是水瓶座!')
    if month==1 and day>20:
        print(name,'你是水瓶座!')
    if month==3 and day<21:
        print(name,'你是双鱼座!')
    if month==2 and day>18:
        print(name,'你是双鱼座!')
    if month==4 and day<21:
        print(name,'你是白羊座!')
    if month==3 and day>20:
        print(name,'你是白羊座!')
    if month==5 and day<22:
        print(name,'你是金牛座!')
    if month==4 and day>20:
        print(name,'你是金牛座!')
    if month==6 and day<23:
        print(name,'你是摩羯座!')
    if month==5 and day>21:
        print(name,'你是摩羯座!')
    if month==7 and day<24:
        print(name,'你是双子座!')
    if month==6 and day>22:
        print(name,'你是双子座!')
    if month==8 and day<24:
        print(name,'你是巨蟹座!')
    if month==7 and day>23:
        print(name,'你是巨蟹座!')
    if month==9 and day<24:
        print(name,'你是狮子座!')
    if month==8 and day>23:
        print(name,'你是狮子座!')
    if month==10 and day<24:
        print(name,'你是处女座!')
    if month==9 and day>23:
        print(name,'你是处女座!')
    if month==11 and day<23:
        print(name,'你是天秤座!')
    if month==10 and day>23:
        print(name,'你是天秤座!')
    if month==12 and day<23:
        print(name,'你是射手座!')
    if month==11 and day>22:
        print(name,'你是射手座!')
a=str(input('your name:'))
b=int(input('your birth month:'))
c=int(input('your birth day'))
constellation(a,b,c)


your name:ymm
your birth month:2
your birth day24
ymm 你是双鱼座!

In [18]:
def change(word):
    if word.endswith(('s','sh','ch','x','o')):
        print(word+'es')
    elif word.endswith(('by','cy','dy','fy','gy','hy','jy','ky','ly','my','ny','py','qy','ry','sy','ty','vy','wy','xy','zy')):
        print('把y改i再加es')
    else:
        print(word+'s')
    
a=str(input())
change(a)


wash
washes

写程序,可以求从整数m到整数n累加的和,间隔为k,求和部分需用函数实现,主程序中由用户输入m,n,k调用函数验证正确性。


In [13]:
def number_sum(a,c):
    i=0
    total=a
    while i<c+1:
        i=i+1
        a=a+1
        total=total+a
    return total
        
m=int(input('请输入m的值,以回车结束。'))
n=int(input('请输入n的值,以回车结束。'))
k=int(input('请输入k的值,以回车结束。'))

print('从整数m到整数n累加和为:',number_sum(m,k))


请输入m的值,以回车结束。3
请输入n的值,以回车结束。10
请输入k的值,以回车结束。6
从整数m到整数n累加和为: 52