python 通過可變參數(shù)計(jì)算n個(gè)數(shù)的乘積方法
通過可變參數(shù)計(jì)算n個(gè)數(shù)的乘積:
代碼如下:
list = [] def the_input(count=eval(input("輸入乘數(shù)的總個(gè)數(shù):"))): for i in range(count): N=eval(input("依次輸入乘數(shù):")) list.append(N) print("一共有",count,"個(gè)要相乘的數(shù)") print("把這些乘放在列表里面:",list) the_input() def get_mul(*num): sum =1 for n in num: sum = sum * n return sum print("這鞋數(shù)相乘的最終結(jié)果是:",get_mul(*list))
運(yùn)行結(jié)果
可變參數(shù) 解釋
在Python函數(shù)中,還可以定義可變參數(shù)。顧名思義,可變參數(shù)就是傳入的參數(shù)個(gè)數(shù)是可變的,可以是1個(gè)、2個(gè)到任意個(gè),還可以是0個(gè)。
我們以數(shù)學(xué)題為例子,給定一組數(shù)字a,b,c……,請(qǐng)計(jì)算a2 + b2 + c2 + ……。
要定義出這個(gè)函數(shù),我們必須確定輸入的參數(shù)。由于參數(shù)個(gè)數(shù)不確定,我們首先想到可以把a(bǔ),b,c……作為一個(gè)list或tuple傳進(jìn)來,這樣,函數(shù)可以定義如下:
def calc(numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
但是調(diào)用的時(shí)候,需要先組裝出一個(gè)list或tuple:
calc([1, 2, 3]) 14 calc((1, 3, 5, 7)) 84
如果利用可變參數(shù),調(diào)用函數(shù)的方式可以簡化成這樣:
calc(1, 2, 3) 14 calc(1, 3, 5, 7) 84
所以,我們把函數(shù)的參數(shù)改為可變參數(shù):
def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
定義可變參數(shù)和定義一個(gè)list或tuple參數(shù)相比,僅僅在參數(shù)前面加了一個(gè)*號(hào)。在函數(shù)內(nèi)部,參數(shù)numbers接收到的是一個(gè)tuple,因此,函數(shù)代碼完全不變。但是,調(diào)用該函數(shù)時(shí),可以傳入任意個(gè)參數(shù),包括0個(gè)參數(shù):
calc(1, 2) 5 calc() 0
如果已經(jīng)有一個(gè)list或者tuple,要調(diào)用一個(gè)可變參數(shù)怎么辦?可以這樣做:
nums = [1, 2, 3] calc(nums[0], nums[1], nums[2]) 14
這種寫法當(dāng)然是可行的,問題是太繁瑣,所以Python允許你在list或tuple前面加一個(gè)*號(hào),把list或tuple的元素變成可變參數(shù)傳進(jìn)去:
nums = [1, 2, 3] calc(*nums) 14
*nums表示把nums這個(gè)list的所有元素作為可變參數(shù)傳進(jìn)去。這種寫法相當(dāng)有用,而且很常見。
以上這篇python 通過可變參數(shù)計(jì)算n個(gè)數(shù)的乘積方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- NumPy?與?Python?內(nèi)置列表計(jì)算標(biāo)準(zhǔn)差區(qū)別詳析
- python 計(jì)算兩個(gè)列表的相關(guān)系數(shù)的實(shí)現(xiàn)
- python中計(jì)算一個(gè)列表中連續(xù)相同的元素個(gè)數(shù)方法
- python計(jì)算列表內(nèi)各元素的個(gè)數(shù)實(shí)例
- python求列表對(duì)應(yīng)元素的乘積和的實(shí)現(xiàn)
- python 求一個(gè)列表中所有元素的乘積實(shí)例
- Python簡單實(shí)現(xiàn)兩個(gè)任意字符串乘積的方法示例
- Python實(shí)現(xiàn)求笛卡爾乘積的方法
- python計(jì)算列表元素與乘積詳情
相關(guān)文章
編寫Python腳本來獲取Google搜索結(jié)果的示例
這篇文章主要介紹了編寫Python腳本來獲取Google搜索結(jié)果的示例,也是利用Python編寫爬蟲的一個(gè)簡單實(shí)現(xiàn),需要的朋友可以參考下2015-05-05python 實(shí)現(xiàn)批量xls文件轉(zhuǎn)csv文件的方法
今天小編就為大家分享一篇python 實(shí)現(xiàn)批量xls文件轉(zhuǎn)csv文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10火遍網(wǎng)絡(luò)的python中秋節(jié)賀卡現(xiàn)在學(xué)還趕得上
中秋將至,我用python編寫了個(gè)火遍網(wǎng)絡(luò)的中秋節(jié)賀卡,現(xiàn)在學(xué)起來還不晚,文中給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09Python 實(shí)現(xiàn)還原已撤回的微信消息
這篇文章主要介紹了Python 神操作,還原已撤回的微信消息功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06python-Web-flask-視圖內(nèi)容和模板知識(shí)點(diǎn)西寧街
在本篇文章里小編給大家分享了關(guān)于python-Web-flask-視圖內(nèi)容和模板的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們參考學(xué)習(xí)下。2019-08-08python實(shí)現(xiàn)emoji對(duì)齊特殊字符對(duì)齊高級(jí)文本對(duì)齊
這篇文章主要為大家介紹了python實(shí)現(xiàn)emoji對(duì)齊特殊字符對(duì)齊高級(jí)文本對(duì)齊方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Tensorflow與Keras自適應(yīng)使用顯存方式
這篇文章主要介紹了Tensorflow與Keras自適應(yīng)使用顯存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06python連接oracle數(shù)據(jù)庫實(shí)例
這篇文章主要介紹了python連接oracle數(shù)據(jù)庫的方法,實(shí)例講述了連接Oracle數(shù)據(jù)庫的具體步驟及常見的問題,需要的朋友可以參考下2014-10-10