2017-03-16 144 views
1

我不在這個任務上尋求幫助。我已經完成了前三部分;我只是在此發佈整個問題以幫助澄清。我對第4部分(下面寫)感到困惑。我不確定它在問什麼,想知道是否有人可以解釋「幫助函數」的含義以及我應該編寫的內容。謝謝。「輔助功能」的作用?

入學標準是基於SAT三個部分的分數和高中畢業班的等級;確切的標準如下。這些規則按照此處顯示的優先級順序(1,2,3等)應用。

如果輸入數據是無效的(SAT小於200或大於800,或一個類等級不是一個正整數)的它們都將被拒絕
如果任何測試得分是800時,它們被接受
如果任何測試分數低於300,他們被拒絕
如果平均測試分數大於650且班級等級小於或等於25,他們被接受。
如果兩個或兩個以上的測試分數小於400或班級大於或等於75,他們將被拒絕。
在任何其他情況下,申請人被置於等候名單 Da程序中以替換電子表格(具有多種功能)以確定學生是否被接受,拒絕或等待列出。您的解決方案必須包括以下功能:

1部分:

一個函數調用admissionStatus(sat_math,sat_reading,sat_writing,class_rank)接受4個參數(如圖所示),並返回一個字符串「接受」,「拒絕」或「候補」

第2部分:

一個名爲isvalid(sat_math,sat_reading,sat_writing,class_rank)的函數根據輸入數據是否有效返回True或False。如果所有數據均有效,則返回True,否則返回False。 

3部分:

,提示用戶對相關數據的用戶(申請人姓名,數學高考成績,閱讀SAT成績,寫作SAT成績,而且班級排名它還呼籲admissionStatus()傳遞適當的參數主要功能。 。

4部分:

,你認爲合適的(實現一些作爲單獨的功能,可以從錄取資格被稱爲接入狀態中的計算的任何其他輔助功能。例如,你可能想要寫一個功能上述規則2)

再次 - 我只是問第4部分。我應該爲每個標準寫一個函數嗎?我真的不確定。

回答

0

A helper function is a function that performs part of the computation of another function - 從谷歌

def add(a,b): 
    return a+b 

def main(): 
    subtract = 10 - 9 
    multiply = 2 * 2 
    add(5,4) <-- this here is helper function. 

「添加(5,4)」 是一個輔助功能。你已經定義了add(a,b)這是函數。現在,您可以隨時隨地使用該添加功能,無論您喜歡何處,它都會爲您添加兩個整數。

因此,添加功能是「幫助」您隨時隨地添加兩個整數,只要您喜歡,無論何時何地都可以。

希望有所幫助。

+0

對不起,我還是不太明白 - 是這樣的嗎? def helper():如果admissionstatus(sat_math)= 800:print「accepted」(我不想讓任何人爲我做我的硬件,我真的不明白,如果有人能給我一個例子或者一些,這將是偉大的)。 –

+0

@MarkMason,我已經更新了答案。讓我知道這是否有幫助。 – Maddy

1

「幫助函數」是您編寫的函數,因爲您需要在多個位置使用該特定功能,並且因爲它使代碼更具可讀性。
一個很好的例子是平均功能。你會寫一個名爲avg或類似的函數,它接受一個數字列表,並返回該列表的平均值。
然後,您可以在主函數或其他更復雜的輔助函數中使用該函數,無論您需要它。基本上,你多次使用的任何代碼塊都是一個很好的候選者,可以成爲輔助函數。
輔助函數的另一個原因是使代碼更易於閱讀。例如,我可能會寫出一行非常聰明的代碼來獲取數字列表的平均值,並且只需要一行代碼,但它很複雜且難以閱讀。我可以做一個幫手功能,用一個更容易閱讀的線代替我複雜的線。

+0

對不起,我還是不太明白 - 是這樣的嗎? def helper():如果admissionstatus(sat_math)= 800:print「accepted」(我不想讓任何人爲我做我的硬件,我真的不明白。如果有人能給我一個例子或者其他的東西,那會很棒)。 –

+1

輔助函數的外觀沒有定義。任何函數都可以是一個輔助函數,只要它允許你用一個函數調用代替一個複雜的代碼塊,使得它更清晰地發生。 –

0

這意味着您可以創建可能幫助您完成項目的其他功能。

通常,任務或測試將爲您提供特定的功能簽名。這可能意味着您只能在該功能中編碼來解決問題。

通過指定允許使用助手函數,它表示您不僅限於一個函數。您可以創建其他人在指定的功能內被調用。

成爲你的情況更具體:你的任務需要你完成以下功能:

  • admissionStatus(sat_math,sat_reading,sat_writing,class_rank)
  • isValid(sat_math,sat_reading,sat_writing,class_rank)
  • 主要功能

然後,作業說:

在准入狀態下執行一些計算作爲可以從准入狀態中調用的單獨函數。

有什麼計算可用?計算平均測試分數,說。 Python的標準庫不包含用於計算平均值的預編寫函數。所以,你寫自己的功能來做到這一點。

Calculating arithmetic mean (average) in Python

def mean(numbers): 
    return float(sum(numbers))/max(len(numbers), 1) 

將是一個 「輔助函數」 的一個例子。

+0

對不起,我還是不太明白 - 是這樣的嗎? def helper():如果admissionstatus(sat_math)= 800:print「accepted」(我不想讓任何人爲我做我的硬件,我真的不明白,如果有人能給我一個例子或者一些,這將是偉大的)。 –

+0

@MarkMason,我已經更新了我的答案,給你一個更具體的例子。 – leanne