我一直在寻找可以帮助我解决问题的解决方案,但是找不到我能理解的任何简单或基本技术。如果您认为有任何有用的网站或帖子可以为我指明正确的方向,请发布它们。
我已经完成了两个功能相同但用途不同的功能,例如登录系统-每个用户一个功能。 在每个函数中,都有一个我想“传递”到新函数的变量(该变量与其他函数完全不同)。
我尝试使用return和global函数,但是它们不起作用,我认为我没有正确使用它们。下面是我的情况的一个简单示例:
def pizza():
topping = input("fav topping: ")
def pizza1():
topping1 = input("fav topping: ")
def something(topping,topping1):
print("user1's fav topping is",topping)
print("user1's fav topping is",topping1)
pizza()
pizza1()
something()
我希望“ topping”和“ topping1”进入“某物”功能。 这段代码不是我真正的编码情况,而是一个简单的版本,因此必须使用函数并传递这些变量
谢谢
答案 0 :(得分:1)
您需要做的就是让您的函数返回一个值。然后使用从它返回的值来调用新函数。
def pizza():
topping = input("fav topping: ")
return topping
def pizza1():
topping1 = input("fav topping: ")
return topping1
def something(topping, topping1):
print("user1's fav topping is",topping)
print("user1's fav topping is",topping1)
val = pizza()
val1 = pizza1()
something(val, val1)
如果您想让pizza
函数调用pizza1
,然后让pizza1
调用something
,则只需将代码重构为:
def pizza():
topping = input("fav topping: ")
pizza1(topping)
def pizza1(prev_topping):
topping = input("fav topping: ")
something(prev_topping, topping)
def something(topping, topping1):
print("user1's fav topping is",topping)
print("user1's fav topping is",topping1)
pizza()
答案 1 :(得分:1)
您的函数不返回任何东西。如果您的目的是在函数返回时分配变量:
def pizza():
return input("fav topping: ")
def pizza1():
return input("fav topping: ")
def something(topping1,topping2):
print("user1's fav topping is",topping)
print("user1's fav topping is",topping1)
topping1 = pizza()
topping2 = pizza1()
something(topping1,topping2)
在函数中声明变量时,它仅位于局部空间中,而在全局空间中不可调用。下面的示例显示了将其声明为全局变量时发生的情况。
def pizza():
global topping
topping = input("fav topping: ")
def pizza1():
global topping1
topping1 = input("fav topping: ")
def something():
print("user1's fav topping is",topping)
print("user1's fav topping is",topping1)
pizza()
pizza1()
something()
>> fav topping: 1
fav topping: 2
user1's fav topping is 1
user1's fav topping is 2
一旦您将其声明为global
,即使您未在函数中传递它们,函数something
中的局部空间也可以将它们用作全局变量。 / p>
答案 2 :(得分:0)
要做的第一件事是:给静态变量命名
x = [0, 2, 2, 2, 0, 3, 3]
y = [1, 1, 1.5, 1, 1, 1.5, 1]
z = [0, 0, 2, 0, 0, 3, 0]
然后,当您调用该函数时,必须在()中写入要打印的变量。
static topping
static topping1
在最后一行代码中,您对程序说要打印变量a和b。