我制作了一个def roomidea(test)
,其中包含输入内容,我相信自己做对了return
。现在,在第一个if
语句下,我有sBedsize, sRoomview, sVehicle, iRoomnum, iNights = roomidea(test)
,因此它读取了该函数。问题是当我运行它显示的代码时
sBedsize
未定义
即使我在if
语句下拥有所有这些内容。为什么这行不通?
我已经在这个项目上工作了一段时间,现在我认为我的第二个def price(test2)
可以工作,但是我不确定,因为到目前为止的第一个def
是主要问题,我将不胜感激任何提示,帮助或任何可能帮助我解决或学习如何解决此问题的方法。
现在我还担心的另一个问题是,我在第二个def
中使用了许多变量,这意味着我使用变量来求解其他变量,例如dTotalqav
并拥有dPrice1
,{ {1}},dPrice5
和dResortfee1
都在同一dResortfee2
中。因此,这会正确计算还是会产生另一个错误?
如果相关的话,我正在PyCharm中运行它。
def
最后还要输入导入时间,然后再输入time.sleep(5)然后再输入print(test),我正在使用它,以便它重新打印原始输入,以便他们可以更改其输入,也许他们选择了“ Queen Standard是1 1“,但他们犯了一个错误,他们可以键入no并将其输入更改为” King Standard Yes 1 1“之类的字词。无论如何,对这个快速的问题感到抱歉,但这是我遇到的基本问题。
答案 0 :(得分:1)
您需要调用函数并在之前分配这些变量,然后才能在if
语句中查询它们。
这是一个简化的示例:
def foo():
# These variables only exist inside the function
one = 1
two = 2
three = 3
# This doesn't cause them to exist outside of the function; it "gives them"
# as a result of calling the function later
return one, two, three
# a, b, and c don't exist yet so I can't use them in an if statement here
# This is where we run the code contained in the function foo and bind the
# returned values to variables (they can be named differently, here we use a,
# b, and c)
a, b, c = foo()
# a, b, and c now exist as variables in the main program and they hold the values
# that were returned from the function. Now we can use them in an `if` statement, e.g.
if a or b or c:
print('Success')