def compute_sum(n):
    i=0
    sum=0
    while i<n:
        i=i+1
        sum+=i
    return sum
m=int(input('plz input m: '))
n=int(input('plz input n: '))
k=int(input('plz input k: '))
print(compute_sum(m) + compute_sum(n) + compute_sum(k))

"""
Explanation: 仿照求$ \sum_{i=1}^mi + \sum_{i=1}^ni  + \sum_{i=1}^ki$的完整代码，写程序，可求m!+n!+k!
End of explanation
"""


def compute_sum(n):
    i=0
    total=0
    while i<n:
        i+=1
        if i%2==0:
            total-=1/(2*i-1)
        else:
            total+=1/(2*i-1)
    return total
print(compute_sum(1000))
print('*4: ',4*compute_sum(1000))
print(compute_sum(10000))
print('*4: ',4*compute_sum(10000))

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


def Constellation(n,m,d):
    if (m>=3 and d>21) or (m<=4 and d<19):
        return (n,'你是白羊座')
    elif (m>=4 and d>20) or (m<=5 and d<20):
            return (n,'你是金牛座')
    elif (m>=5 and d>21) or (m<=6 and d<21):
            return (n,'你是双子座')
    elif (m>=6 and d>22) or (m<=7 and d<22):
            return (n,'你是巨蟹座')
    elif (m>=7 and d>23) or (m<=8 and d<22):
            return (n,'你是狮子座')
    elif (m>=8 and d>23) or (m<=9 and d<22):
            return (n,'你是处女座')
    elif (m>=9 and d>23) or (m<=10 and d<23):
            return (n,'你是天秤座')
    elif (m>=10 and d>24) or (m<=11 and d<23):
            return (n,'你是天蝎座')
    elif (m>=11 and d>23) or (m<=12 and d<21):
            return (n,'你是射手座')
    elif (m>=12 and d>22) or (m<=1 and d<19):
            return (n,'你是摩羯座')
    elif (m>=1 and d>20) or (m<=2 and d<18):
            return (n,'你是水瓶座')
    elif (m>=2 and d>19) or (m<=3 and d<20):
            return (n,'你是双鱼座')
n=str(input('plz input name:'))
m=int(input('plz input birth_mon: '))
k=int(input('plz input birth_day: '))
print(Constellation(n,m,k))

def Plurality(word):
    if ( word.endswith('ch') or word.endswith('sh') or word.endswith('s') or word.endswith('x') ):
        print(word,'es',sep='')
       
    else:
        print(word,'s',sep='')
w=str(input('plz input a word'))
Plurality(w)

"""
Explanation: 将task3中的练习1及练习4改写为函数，并进行调用。
练习 1：写程序，可由键盘读入用户姓名例如Mr. right，让用户输入出生的月份与日期，判断用户星座，假设用户是金牛座，则输出，Mr. right，你是非常有性格的金牛座！。
练习 4：英文单词单数转复数，要求输入一个英文动词（单数形式），能够得到其复数形式，或给出单数转复数形式的建议（提示，some_string.endswith(some_letter)函数可以判断某字符串结尾字符，可尝试运行：'myname'.endswith('me')，liupengyuan'.endswith('n')）。
End of explanation
"""


def count_sum(m,n,k):
    i=0
    total=0
    while i+k<n:
        i=i+k
        total+=i+k
    return total

m=int(input('plz input m:'))
n=int(input('plz input n:'))
k=int(input('plz input k:'))
print(count_sum(m,n,k))

"""
Explanation: 挑战性练习：写程序，可以求从整数m到整数n累加的和，间隔为k，求和部分需用函数实现，主程序中由用户输入m，n，k调用函数验证正确性。
End of explanation
"""


