<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 仿照求$ \sum_{i=1}^mi + \sum_{i=1}^ni  + \sum_{i=1}^ki$的完整代码，写程序，可求m!+n!+k!
Step1:  写函数可返回1 - 1/3 + 1/5 - 1/7...的前n项的和。在主程序中，分别令n=1000及100000，打印4倍该函数的和。
Step2:  将task3中的练习1及练习4改写为函数，并进行调用
写程序，可由键盘读入用户姓名例如Mr. right，让用户输入出生的月份与日期，判断用户星座，假设用户是金牛座，则输出，Mr. right，你是非常有性格的金牛座！。
英文单词单数转复数，要求输入一个英文动词（单数形式），能够得到其复数形式，或给出单数转复数形式的建议（提示，some_string.endswith(some_letter)函数可以判断某字符串结尾字符，可尝试运行：'myname'.endswith('me')，liupengyuan'.endswith('n')）。
Step3:  写程序，可以求从整数m到整数n累加的和，间隔为k，求和部分需用函数实现，主程序中由用户输入m，n，k调用函数验证正确性。
<ASSISTANT_TASK:>
Python Code:
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))
Explanation: 仿照求$ \sum_{i=1}^mi + \sum_{i=1}^ni  + \sum_{i=1}^ki$的完整代码，写程序，可求m!+n!+k!
End of explanation
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))
Explanation: 写函数可返回1 - 1/3 + 1/5 - 1/7...的前n项的和。在主程序中，分别令n=1000及100000，打印4倍该函数的和。
End of explanation
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)
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)
Explanation: 将task3中的练习1及练习4改写为函数，并进行调用
写程序，可由键盘读入用户姓名例如Mr. right，让用户输入出生的月份与日期，判断用户星座，假设用户是金牛座，则输出，Mr. right，你是非常有性格的金牛座！。
英文单词单数转复数，要求输入一个英文动词（单数形式），能够得到其复数形式，或给出单数转复数形式的建议（提示，some_string.endswith(some_letter)函数可以判断某字符串结尾字符，可尝试运行：'myname'.endswith('me')，liupengyuan'.endswith('n')）。
End of explanation
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))
Explanation: 写程序，可以求从整数m到整数n累加的和，间隔为k，求和部分需用函数实现，主程序中由用户输入m，n，k调用函数验证正确性。
End of explanation
<END_TASK>