저는 파이썬에 익숙하지 않으므로 간단한 매크로 영양분 계산기를 작성하여 연습하려고합니다. 다른 값들에 어떤 값을 어떻게 넘겨 줄지 잘 모르겠습니다. 여기 다른 유형의 여러 값을 다른 함수에 전달하는 방법
는 내가하고 싶은 것은 출력 사전 (Macro_dict),모든 매크로의 합 (
Macro_sum
)이 100
경우 그래서 나는 그것을 인쇄 할 수는
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_sum
이 100인지 확인하고 싶습니다.
이것은 Macro_sum
값을 Total_macro_check
에 출력해야 함을 의미합니다. 내 Macro_input
기능은 Macro_sum
및 Macro_dict
,
을 반환하는 경우 Total_macro_check
는 1 개 값을 허용하면서, 하나 개 이상의 값을 반환로 인해 내가 Total_macro_check
에 출력을 사용할 수없는 것처럼
그러나 나는 생각합니다.
def main():
print "Please enter your macro-nutrients"
Total_macro_value, Macro_dict = Macro_input()
Total_macro_check(Total_macro_value)
내 코드가 더 멋지게 보입니다. 귀하의 의견에 감사드립니다! – Liondancer
질문 제목에 대답하지 않지만 문제의 코드에 실제로 문제가 무엇인지 대답합니다. – James
ahyeah 나는 너가 지금 실제로있는 것을 안다. 나는 그 문제와 그 질문의 맨 끝을 보지 못했을 때 그가 원하는 것을 돌려주지 않았기 때문에 각 개인의 금액을 출력하고 싶다고 생각했다. – James