def add(a,b):#加法運(yùn)算return a+bdef sub(a,b):#減法運(yùn)算return a-bdef mul(a,b):#乘法運(yùn)算return a*bdef div(a,b=1):#除法運(yùn)算return a/b
創(chuàng)新互聯(lián)建站擁有十多年成都網(wǎng)站建設(shè)工作經(jīng)驗(yàn),為各大企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),對(duì)于網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、手機(jī)APP定制開發(fā)、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、域名與空間等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營(yíng)銷、管理等網(wǎng)站化運(yùn)作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項(xiàng)目的能力。
(lambda x,y:x*y)(4,5) 你懂的....
送個(gè)階乘給你
def root(x):
if (x is 0) or (x is 1)
return 1
else:
return x*root(x-1)
你懂得.....
4樓就是一SB,誰(shuí)規(guī)定0不能相乘的?
答: 在這里我的思路是利用Python函數(shù)同時(shí)接受多個(gè)參數(shù),然后在函數(shù)的內(nèi)部,它的功能是返回各輸入?yún)?shù)對(duì)應(yīng)的乘積。如下所示,可以使用*nums作為輸入?yún)?shù)以同時(shí)接受多個(gè)參數(shù)。對(duì)應(yīng)代碼如下所示:
本次例子是對(duì)1,3,5,7和9進(jìn)行累乘,本次的結(jié)果為945,如下所示,計(jì)算正確。
同樣地,我們也可以使用其他例子進(jìn)行測(cè)試,也可以得到正確的結(jié)果。
重載和缺省都不能解決樓主的問題。想解決這個(gè)問題,必須用到va_list。
但是注意,并不是所有編譯器都支持這個(gè)功能,下面這個(gè)簡(jiǎn)單的求均值函數(shù)在VC6.0下編譯通過。希望樓主能用到自己的實(shí)際應(yīng)用中。
#include cstdarg
#include iostream
using namespace std;
double average ( int num, ... )
{
va_list arguments; // A place to store the list of arguments
double sum = 0;
va_start ( arguments, num ); // Initializing arguments to store all values after num
for ( int x = 0; x num; x++ ) // Loop until all numbers are added
sum += va_arg ( arguments, double ); // Adds the next value in argument list to sum.
va_end ( arguments ); // Cleans up the list
return sum / num; // Returns some number (typecast prevents truncation)
}
int main()
{
cout average ( 3, 12.2, 22.3, 4.5 ) endl;
cout average ( 5, 3.3, 2.2, 1.1, 5.5, 3.3 ) endl;
}
補(bǔ)充一句:不確定輸入?yún)?shù)個(gè)數(shù)的函數(shù)應(yīng)該盡量的避免使用,除非萬(wàn)不得已,最好不要用。