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))
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))
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)
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)
In [ ]:
挑战性练习:写程序,可以求从整数m到整数n累加的和,间隔为k,求和部分需用函数实现,主程序中由用户输入m,n,k调用函数验证正确性。
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)
Out[21]: