我遇到的问题是返回月份和日期变量以用于其他功能。
def date():
date = raw_input("Date (ex. Jun 19): ")
date = date.split(' ')
month = date[0]
month = month[:3].title()
day = date[1]
return (month, day)
def clone(month,day):
print month day
以下是脚本的输出:
Date (ex. Jun 19): june 19
Traceback (most recent call last):
File "./manualVirt.py", line 26, in <module>
main()
File "./manualVirt.py", line 12, in main
clone(agent,month,day)
NameError: global name 'month' is not defined
答案 0 :(得分:1)
由于您从tuple
返回date()
,我将假设这将是您想要做的事情
month_day = date()
clone(month_day[0], month_day[1])
以及clone()
print month day
应该是
print month, day
答案 1 :(得分:1)
您是否可能希望将一个函数的结果传递给另一个函数?
month, day = date()
clone(month, day)
或者您可以在将函数结果传递给第二个函数时将其解压缩
result = date()
clone(*result)
甚至
clone(*date())
答案 2 :(得分:0)
您可能想知道如何在本地空间中声明变量时在全局空间中使用该变量。使用global
:
def myfunc():
global a
a = 5
print a
# NameError: name 'a' is not defined
myfunc()
print a
# 5
答案 3 :(得分:0)
我认为问题来自:print month day
。
如果要打印多个内容,则需要用逗号分隔参数:
print month, day