Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何从另一个函数python3附加变量_Python 3.x_Append - Fatal编程技术网

Python 3.x 如何从另一个函数python3附加变量

Python 3.x 如何从另一个函数python3附加变量,python-3.x,append,Python 3.x,Append,我想将此函数中的date2追加到 def date_register(): print("Enter date of registration") year = int(input("Enter a year: ")) month = int(input("Enter a month: ")) day = int(input("Enter a day: ")) date1 = datetime.date(year,month,day)

我想将此函数中的date2追加到

def date_register():
     print("Enter date of registration")
     year = int(input("Enter a year: "))
     month = int(input("Enter a month: "))
     day = int(input("Enter a day: "))
     date1 = datetime.date(year,month,day)
     date2 = date1 + timedelta(days = 140)
     print("Check out date:",date2)
未定义此函数及其发布日期2

def update_A(row):  #to update the roomA
    if len(roomA[row]) < 2: #if roomA is less than 2
        name = input("Enter your name here: ")
        print(date_register())
        roomA[row].append((name,date2))
        print("Your room no. is {} at row {}".format(roomA[row].index((name,date2))+1,row))
        print(Continue()) 
def update_A(行):#更新房间A
如果len(roomA[row])<2:#如果roomA小于2
name=输入(“在此处输入您的姓名:”)
打印(日期\寄存器())
roomA[行].追加((名称,日期2))
打印(“您的房间号在{}行{}”。格式(roomA[row]。索引((名称,日期2))+1,行))
打印(Continue())

寻求帮助谢谢

date2
未定义,因为它不在
update\u A
有关范围的更多信息,请阅读

您似乎还混淆了
return
print

update\u A
中,您可以编写
print(date\u register())
,但
date\u register
不会返回任何要打印的内容

print
将字符串表示形式发送到控制台,不能用于分配。而是使用
return
,这基本上强制函数调用解析为
return
语句旁边的值。 例如:

def foo:
    return "bar"
print(foo())
调用
foo
时,它将解析为
“bar”
,然后打印到控制台。有关
print()
return
的区别和用法的更多信息,请参阅

要在
update_A
中使用
date2
,您应按如下方式返回并分配它:

def date_register():
     print("Enter date of registration")
     year = int(input("Enter a year: "))
     month = int(input("Enter a month: "))
     day = int(input("Enter a day: "))
     date1 = datetime.date(year,month,day)
     date2 = date1 + timedelta(days = 140)
     print("Check out date:",date2)
     return date2 
def update_A(row):  #to update the roomA
    if len(roomA[row]) < 2: #if roomA is less than 2
        name = input("Enter your name here: ")
        date2 = date_register() #assign date2 returned value
        print(date2)
        roomA[row].append((name,date2))
        print("Your room no. is {} at row {}".format(roomA[row].index((name,date2))+1,row))
        print(Continue()) 
def date_register():
打印(“输入注册日期”)
年份=整数(输入(“输入年份:”)
月份=整数(输入(“输入月份:”)
day=int(输入(“输入一天:”)
date1=datetime.date(年、月、日)
date2=date1+timedelta(天数=140)
打印(“签出日期:”,日期2)
返回日期2
def update_A(行):#更新房间A
如果len(roomA[row])<2:#如果roomA小于2
name=输入(“在此处输入您的姓名:”)
date2=日期\寄存器()\分配date2返回值
打印(日期2)
roomA[行].追加((名称,日期2))
打印(“您的房间号在{}行{}”。格式(roomA[row]。索引((名称,日期2))+1,行))
打印(Continue())

未定义日期2,因为它不在更新的范围内 有关范围的更多信息,请阅读

您似乎还混淆了
return
print

update\u A
中,您可以编写
print(date\u register())
,但
date\u register
不会返回任何要打印的内容

print
将字符串表示形式发送到控制台,不能用于分配。而是使用
return
,这基本上强制函数调用解析为
return
语句旁边的值。 例如:

def foo:
    return "bar"
print(foo())
调用
foo
时,它将解析为
“bar”
,然后打印到控制台。有关
print()
return
的区别和用法的更多信息,请参阅

要在
update_A
中使用
date2
,您应按如下方式返回并分配它:

def date_register():
     print("Enter date of registration")
     year = int(input("Enter a year: "))
     month = int(input("Enter a month: "))
     day = int(input("Enter a day: "))
     date1 = datetime.date(year,month,day)
     date2 = date1 + timedelta(days = 140)
     print("Check out date:",date2)
     return date2 
def update_A(row):  #to update the roomA
    if len(roomA[row]) < 2: #if roomA is less than 2
        name = input("Enter your name here: ")
        date2 = date_register() #assign date2 returned value
        print(date2)
        roomA[row].append((name,date2))
        print("Your room no. is {} at row {}".format(roomA[row].index((name,date2))+1,row))
        print(Continue()) 
def date_register():
打印(“输入注册日期”)
年份=整数(输入(“输入年份:”)
月份=整数(输入(“输入月份:”)
day=int(输入(“输入一天:”)
date1=datetime.date(年、月、日)
date2=date1+timedelta(天数=140)
打印(“签出日期:”,日期2)
返回日期2
def update_A(行):#更新房间A
如果len(roomA[row])<2:#如果roomA小于2
name=输入(“在此处输入您的姓名:”)
date2=日期\寄存器()\分配date2返回值
打印(日期2)
roomA[行].追加((名称,日期2))
打印(“您的房间号在{}行{}”。格式(roomA[row]。索引((名称,日期2))+1,行))
打印(Continue())

我已经纠正了另外一两个小错误

import datetime

def date_register():
    print("Enter date of registration")
    year = int(input("Enter a year: "))
    month = int(input("Enter a month: "))
    day = int(input("Enter a day: "))
    date1 = datetime.date(year,month,day)
    date2 = date1 + datetime.timedelta(days = 140)
    print("Check out date:",date2)
    return date2

def update_A(row):  #to update the roomA
    if len(roomA[row]) < 2: #if roomA is less than 2
        name = input("Enter your name here: ")
        checkout_date = date_register()
        print(checkout_date)
        roomA[row].append((name,checkout_date))
        print("Your room no. is {} at row {}".format(roomA[row].index((name,checkout_date))+1,row))

roomA = {1: []}
update_A(1)

显然,你需要知道如何打印结账日期。

我已经纠正了一两个小错误

import datetime

def date_register():
    print("Enter date of registration")
    year = int(input("Enter a year: "))
    month = int(input("Enter a month: "))
    day = int(input("Enter a day: "))
    date1 = datetime.date(year,month,day)
    date2 = date1 + datetime.timedelta(days = 140)
    print("Check out date:",date2)
    return date2

def update_A(row):  #to update the roomA
    if len(roomA[row]) < 2: #if roomA is less than 2
        name = input("Enter your name here: ")
        checkout_date = date_register()
        print(checkout_date)
        roomA[row].append((name,checkout_date))
        print("Your room no. is {} at row {}".format(roomA[row].index((name,checkout_date))+1,row))

roomA = {1: []}
update_A(1)

显然你需要计算出如何打印结账日期。

我的朋友,你忘记了
返回
函数
日期注册的结果
以便在
更新a
中可用。你能提供解决方案吗?我的朋友,您忘记了
返回
函数
date\u register
的结果,以使其在
更新\u a
中可用。您能提供解决方案吗?