日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第5章 模块与函数——笔记八

發布時間:2023/12/29 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第5章 模块与函数——笔记八 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#第5章 模塊與函數 #實驗5.1 函數實驗 '''利用用戶定義函數,按照要求,完成如下任務。 (1)分別利用一般函數和遞歸函數兩種方法, 設計n的階乘的函數fa(n),計算并輸出1!+2!+…+n!。''' def fa1(n):#一般函數sum=0i=nk=1while i>=1:j=iwhile j>1:k=j*(j-1)*kj=j-2sum=sum+kk=1i=i-1return sum #遞歸函數 def fa2(n):if(n==1):return 1else:return fa2(n-1)*n def fa3(n):if(n==1):return 1else:return fa3(n-1)+fa2(n) n=eval(input('請輸入整數n:')) print('sum1=',fa1(n),sep='') print('sum2=',fa3(n),sep='')'''(2)分別利用一般函數和匿名函數兩種方法, 定義四葉玫瑰數f44,計算并輸出所有四葉玫瑰數。''' #一般函數 def f144():n=1000while n<10000:a=int(n/1000)b=int(n/100%10)c=int(n/10%10)d=int(n%10)print(a,b,c,d)#也可使用list獲取位數上的數字#n=1177,Python直接使用a=n/1000的結果是a=1.177,所以需要做強制轉換if pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)==n:print(n)n=n+1 f144() #匿名函數 f44=lambda a,b,c,d:pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4) for n in range(1000,10000):s=list(str(n))a=int(s[0])b=int(s[1])c=int(s[2])d=int(s[3])if n==f44(a,b,c,d):print(n) '''(3)角谷定理。輸入一個自然數n,如果n為偶數,則 n除以2;如果n為奇數,則n乘以3加1;重復上述操作, 直到n=1結束。利用遞歸函數,計算并輸出經過多少次 可以達到n=1.'''count=0 def testJG(k): global countif k==1:returnelse: count=count+1 if k%2==0: testJG(int(k/2)) if k%2==1: testJG(int(k*3+1)) n=eval(input('請輸入自然數n:')) testJG(n) print(n,'經過',count,'次可以達到1',sep='')'''(4)四則運算測試系統atest.py 設計四個函數:加函數plus(x,y)、減函數minu(x,y)、 乘函數prod(x,y)和除函數divi(x,y), 實現兩個數據加減乘除運算的測試,要求如下: ①從鍵盤輸入任意兩個數據x、y,實現四則運算的測試 ②如果回答正確,輸出“回答正確,你好聰明!”; 如果回答錯誤,輸出“回答錯誤,繼續加油!”并 輸出正確答案 ③可以選擇(y)繼續測試,或者(n)退出測試''' def plus(x,y):right=x+yprint(x,'+',y,'=',sep='',end='')inanswer=eval(input())if right==inanswer:print('回答正確,你好聰明!')else:print('回答錯誤,繼續加油!正確答案是:',right) def minu(x,y):right=x-yprint(x,'-',y,'=',sep='',end='')inanswer=eval(input())if right==inanswer:print('回答正確,你好聰明!')else:print('回答錯誤,繼續加油!正確答案是:',right) def prod(x,y):right=x*yprint(x,'*',y,'=',sep='',end='')inanswer=eval(input())if right==inanswer:print('回答正確,你好聰明!')else:print('回答錯誤,繼續加油!正確答案是:',right) def divi(x,y):if y==0:print('除數不能為0!')return#此處可進行異常處理right=x*1.0/yprint(x,'/',y,'=',sep='',end='')inanswer=eval(input())if right==inanswer:print('回答正確,你好聰明!')else:print('回答錯誤,繼續加油!正確答案是:',right) choice='y' while choice=='y':x,y=eval(input('請輸入x,y:'))plus(x,y)minu(x,y)prod(x,y)divi(x,y)choice=input('是否繼續進行測試?(y/n)')

總結

以上是生活随笔為你收集整理的第5章 模块与函数——笔记八的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。