תרגול לדוגמה: מרתון - שאלה

היי,

לצערי, אני עדיין לא ממש מצליח לגשר על ההבנה של נושא הפונקציות.
לשאלה הנ"ל כתבתי את הקוד הבא, ללא שימוש בפונקציה. הסתכלתי על הפתרון במחברת ועדיין לא לגמרי הבנתי איך אני יכול להפוך את הקוד שכתבתי (שנראה לי שעובד יחסית בסדר) לפונקציה. יש אולי אפשרות להסביר איך אני יכול לכתוב פונקציה ע"ב הקוד שכתבתי?

run_time = int(input("how many minutes did it take Dani to run 5 km? "))
distance = 5
km_per_hour = 60 / run_time * distance
print("Dani’s average km per hour running rate is " + str(km_per_hour))

marathon = 42.195 #in km
if km_per_hour * 3 >= marathon:
print(“Dani can run a marathon in 3 hours or less”)
else:
print(“Dani can’t run a marathon in 3 hours”)

אוקיי, חרשתי על זה המון המון המון ואני חושב שמצאתי פתרון סביר (כלומר, נראה שהוא עובד, גם אם כתוב גרוע) תוך שימוש בפונקציה!
ממש אשמח אם מישהו יכול לחוות דעתו על הפתרון.

def dani_running_rate_calculated_by_5_km():
km_per_hour = 60 / run_time * 5
return km_per_hour
run_time = float(input("how many minutes did it take Dani to run 5 km? "))

dani_running_rate_calculated_by_5_km()

def can_dani_run_a_marathon_in_3_hours_or_less():
MARATHON_LENGTH = 42.195
if dani_running_rate_calculated_by_5_km() * 3 >= MARATHON_LENGTH:
print(“Dani can run a marathon in 3 hours or less”)
else:
print(“Dani can’t run a marathon in 3 hours”)

can_dani_run_a_marathon_in_3_hours_or_less()

אתה מתקדם לכיוון. עכשיו נסה לעשות שימוש בפרמטרים ולא להסתמך על זה ש־run_time, לדוגמה, מוגדרת מחוץ לפונקציה :slight_smile: