python - NameError: name 'yearout' is not defined -
python - NameError: name 'yearout' is not defined -
please tell me wrong, , other ways needs improving
def finalcalc(y, d, m): end = (y + d + m) % 7 homecoming end def monthlook(m): if m == 1: monthout = 6 elif m == 2: monthout = 2 elif m == 3: monthout = 2 elif m == 4: monthout = 5 elif m == 5: monthout = 0 elif m == 6: monthout = 3 elif m == 7: monthout = 5 elif m == 8: monthout = 1 elif m == 9: monthout = 4 elif m == 10: monthout = 6 elif m == 11: monthout = 2 elif m == 12: monthout = 4 print(finalcalc(yearout, dayout, monthout)) def daysimp(d): dayout = d % 7 monthlook(monthin) def yearc(y): y = y % 100 yearout = y + (y // 4) yearrem = y % 4 if yearrem >= 2: yearout += 1 yearout = yearout % 7 daysimp(dayin) dayin = int(input("what day in month?")) monthin = int(input("what month number? - eg. jan 1")) yearin = int(input("what year?")) yearc(yearin) the error says: "nameerror: name 'yearout' not defined"- please give me solution , answers other problems find, , ways simplified and/or improved.
yearout name defined in function yearc only; when phone call finalcalc() name not visible , error.
you have same problem dayout , monthout.
you need decide values yearout, dayout , monthout should be before phone call finalcalc(). perhaps wanted set names result of other functions? functions need utilize return create values available caller.
for example, alter yearc function homecoming new yearout value:
def yearc(y): y = y % 100 yearout = y + (y // 4) yearrem = y % 4 if yearrem >= 2: yearout += 1 yearout = yearout % 7 homecoming yearout then store result of function in new name:
yearout = yearc(yearin) and same other names , functions.
you want read through python tutorial on functions again.
python
Comments
Post a Comment