【问题标题】:"month is not defined" Why?“月份未定义”为什么?
【发布时间】:2015-09-09 17:32:00
【问题描述】:

不是同一个问题。他的问题是输入产生的变量。我的问题是变量本身。当 Month 设置为 = 输入时,未定义“MONTH”。我的问题:提示:出生月份 # 输入 ---> 1 月 | | name error 'month is not defined' 他的:Name=input -----> input 'dude' error: 'DUDE IS NOT DEFINED' 根本不一样......他也使用我正在使用的 Python 2.xx 3.4.3

================================= 重启============== ===================

出生日期 输入第 1 天 回溯(最近一次通话最后): 文件“C:/Python34/Astrology calc build 2.py”,第 43 行,在 打印(月) NameError: name 'month' 没有定义

def calculate():
    month=input('   # of month born    ')
    if month == '1':
        print ("January")
        return "January"
    elif month == '2':
        print   ("February")
        return "February"
    elif month == '3':
        print  ("March")
        return "March"
    elif month == '4':
        print  ("April")
        return "April"
    elif month == '5':
        print   ("May")
        return "May"
    elif month == '6':
        print("June")
        return ("June")
    elif month == '7':
        print ("July")
        return "July"
    elif month == '8':
        print("August")
        return "August"
    elif month == '9':
        print("september")
    return "September"
    elif month == '10':
        print("October")
        return "October"
    elif month == '11':
        print ("November")
        return "November"
    elif month == '12':
        return "December"
        print ("December")
    else:
        return calculate()
print('day born')
day=input(' input day #    ')
print (month)
calculate()

【问题讨论】:

  • @CoryKramer 不是同一个问题。他的问题是输入产生的变量。我的问题是变量本身。当 Month 设置为 = 输入时,未定义“MONTH”。我的问题:提示:出生月份 # 输入 ---> 1 月 | | name error 'month is not defined' 他的:Name=input -----> input 'dude' error: 'DUDE IS NOT DEFINED' 根本不一样......他也使用我正在使用的 Python 2.xx 3.4.3
  • month 不是全局的,您无法在此处访问month,因为它在calculate() 中定义,并且您在打印后调用calculate month
  • 顺便说一句 import calendar; print calendar.month_name[3] 将打印三月

标签: python function calculator


【解决方案1】:

这4行首先执行:

print('day born')
day=input(' input day #    ')
print (month)
calculate()

所以在您的 print (month) 命令(第 3 行)中,尚未定义

另外,如果要打印calculate()返回的内容,除了在calculate()中打印,还需要print (calculate())或者将函数的响应设置为变量,稍后再打印

【讨论】:

    猜你喜欢
    • 2014-05-10
    • 1970-01-01
    • 2020-05-12
    • 2021-07-22
    • 2021-07-18
    • 2012-06-21
    • 2022-01-05
    • 2017-10-10
    • 2021-01-17
    相关资源
    最近更新 更多