仿照求$ \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 - 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))
将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)
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)
写程序,可以求从整数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))