Python 3.x 如何从另一个函数python3附加变量
我想将此函数中的date2追加到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)
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
中可用。您能提供解决方案吗?