我是新來的python,所以我試圖通過一個簡單的宏營養計算器來練習。我不太清楚如何將某些值傳遞給不同的功能。如何將不同類型的多個值傳遞給不同的功能
這裏是我的代碼
def Macro_input():
Percent_protein = input("Percentage of Protein: ")
float(Percent_protein)
Percent_carb = input("Percentage of Carbohydrates: ")
float(Percent_carb)
Percent_fat = input("Percentage of Fats: ")
float(Percent_fat)
Macro_dict = {'Protein': Percent_protein, 'Carbohydrate': Percent_carb, 'Fats': Percent_fat}
Macro_sum = Percent_protein + Percent_carb + Percent_fat
return Macro_sum
def Total_macro_check(Macro_sum):
#perhaps put all input into a dictionary? Macro['Protein':num, 'Carb':num, 'Fat':num]
if Macro_sum == 100:
print "You macronutrients percentages are \n Protein: "#, Macro_dict['Protein'], "%" #list for P/C/F --> %d
elif Macro_sum < 100:
print "Total percentages do not add up to 100. Please reenter percentages."
#go back to function that asks for Macros
elif Macro_sum > 100:
print "Total percentages surpass 100. Please reenter percentages."
#go back to function that asks for Macros
def main():
print "Please enter your macro-nutrients"
Total_macro_value = Macro_input()
Total_macro_check(Total_macro_value)
if __name__ == "__main__":
main()
我想要做的就是輸出詞典(Macro_dict),
這樣我就可以把它打印出來,如果所有的宏(Macro_sum
)的總和爲100
但我也想檢查Macro_sum
是否等於100.
這意味着我必須將值Macro_sum
輸出到函數Total_macro_check
。
但是我覺得好像如果我的Macro_input
函數返回Macro_sum
和Macro_dict
,
我不能因爲它返回不止一個值,而Total_macro_check
只接受1個值使用其輸出Total_macro_check
。
使我的代碼看起來更好!感謝您的輸入! – Liondancer 2013-02-27 11:00:12
它不回答問題標題,但它回答了問題的實際問題。 – James 2013-02-27 11:01:33
ahyeah我看到你現在實際上是正確的。我只是假設(如同驢一樣)看到這個問題,並且問題的最終結果是他想要輸出每個單獨的總和,因爲他沒有得到它想要的結果。 – James 2013-02-27 11:09:45