Python 将值从一个函数传递到另一个函数
我有一段代码,免责声明:我没有写太多这段代码,其他人已经帮了我。我想在其中传递一个参数 这可以将二进制数转换为十进制数,进一步将十进制数转换为二进制数 如果你靠近底部看,有一个输入,以1111作为一个二进制数,它变成15作为十进制,我想把15变成十六进制,而不是1111 如何使第二个函数Python 将值从一个函数传递到另一个函数,python,function,parameters,Python,Function,Parameters,我有一段代码,免责声明:我没有写太多这段代码,其他人已经帮了我。我想在其中传递一个参数 这可以将二进制数转换为十进制数,进一步将十进制数转换为二进制数 如果你靠近底部看,有一个输入,以1111作为一个二进制数,它变成15作为十进制,我想把15变成十六进制,而不是1111 如何使第二个函数two()使用15?我有一个类和一个构造函数,我想知道如何将函数one()的最终结果传递给函数two() 如果您查看函数one()有一个打印,我希望传递该值,而不是变量b1或用户输入的值。您的one方法需要返回一
two()
使用15?我有一个类和一个构造函数,我想知道如何将函数one()
的最终结果传递给函数two()
如果您查看函数
one()
有一个打印,我希望传递该值,而不是变量b1
或用户输入的值。您的one
方法需要返回一个值,而不是打印它,以便您可以将值保存到变量中。然后,您的two
方法需要一个参数来传递上一个值
def one(self):
...
return d1
def two(self, value):
...
v = n.one()
n.two(v)
作为替代选项,您可以将
one
方法的结果保存到另一个实例变量。您的one
方法需要返回一个值,而不是打印它,以便您可以将该值保存到一个变量。然后,您的two
方法需要一个参数来传递上一个值
def one(self):
...
return d1
def two(self, value):
...
v = n.one()
n.two(v)
作为替代选项,您可以将
one
方法的结果保存到另一个实例变量。您需要返回值,而不是打印它
def one( self ):
[...]
return d1
如果只需要将one()的输出作为two()的输入,也可以跳过对变量的赋值。one()计算为一个数值,您可以直接传递它
h = Helper( int(input( ">> " )) );
h.two( h.one() );
或者你让它成为对象的一部分,然后你就可以使用它了
def one(self):
[...]
self.d1 = d1;
def two(self):
value = self.d1;
[...]
您需要返回值,而不是打印它
def one( self ):
[...]
return d1
如果只需要将one()的输出作为two()的输入,也可以跳过对变量的赋值。one()计算为一个数值,您可以直接传递它
h = Helper( int(input( ">> " )) );
h.two( h.one() );
或者你让它成为对象的一部分,然后你就可以使用它了
def one(self):
[...]
self.d1 = d1;
def two(self):
value = self.d1;
[...]
下面是解决这个问题的方法
import os,time
class Helper:
def __init__(self, num):
self.num = num
def one(self):
b1 = self.num
b2 = 0
d1 = 0
p = 0
while(b1 != 0):
b2 = b1 % 10
d1 = d1 + b2 * pow(2, p)
b1 = b1//10
p = p + 1
print (d1)
return d1 # set the output of the function
def two(self, n):
hex_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F']
reversed_number = ""
while n > 0:
remainder = n % 16
n -= remainder
n //= 16
reversed_number += str(hex_values[remainder])
print(reversed_number[::-1])
os.system('clear')
print
print ("Input any number.")
n = Helper(int(input(">> ")))
time.sleep(1)
decimal = n.one() # you define a variable as the output of n.one()
time.sleep(1)
print
n.two(decimal) # you pass the output of n.one() to n.two()
print
time.sleep(1)
可以使用return关键字为函数n.one()设置输出
语法是:return{value},因此如果要返回的值是d1,只需键入
return d1
使用变量捕获n.one的输出
decimal = n.one()
此时,要显示n.one()的输出,可以键入
print(decimal)
而不是在函数n.one()中打印它
现在让函数n.who()接受您传递的参数
def two(self, n):
并删除n=self.num
最后,将n.one()的输出传递给n.two()
希望这能解决你的问题这里是解决问题的方法
import os,time
class Helper:
def __init__(self, num):
self.num = num
def one(self):
b1 = self.num
b2 = 0
d1 = 0
p = 0
while(b1 != 0):
b2 = b1 % 10
d1 = d1 + b2 * pow(2, p)
b1 = b1//10
p = p + 1
print (d1)
return d1 # set the output of the function
def two(self, n):
hex_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F']
reversed_number = ""
while n > 0:
remainder = n % 16
n -= remainder
n //= 16
reversed_number += str(hex_values[remainder])
print(reversed_number[::-1])
os.system('clear')
print
print ("Input any number.")
n = Helper(int(input(">> ")))
time.sleep(1)
decimal = n.one() # you define a variable as the output of n.one()
time.sleep(1)
print
n.two(decimal) # you pass the output of n.one() to n.two()
print
time.sleep(1)
可以使用return关键字为函数n.one()设置输出
语法是:return{value},因此如果要返回的值是d1,只需键入
return d1
使用变量捕获n.one的输出
decimal = n.one()
此时,要显示n.one()的输出,可以键入
print(decimal)
而不是在函数n.one()中打印它
现在让函数n.who()接受您传递的参数
def two(self, n):
并删除n=self.num
最后,将n.one()的输出传递给n.two()
希望这解决了你的问题我知道这可能看起来像是重复,有一个类似的问题,但它是在完全不同的背景下,我不能很好地理解;)这里的基本问题是,代码只是将内容打印到屏幕上,然后基本上就忘记了。函数应该
返回
值,而不仅仅是打印它(实际上,如果只返回
并让调用者打印
或对返回的值执行任何操作,可能会是更好的设计)。一个数字有一个值,而不管它在哪个基中表示。如果您想要相同数字的不同表示,请尝试:print({0:d}{1:X}{2:b}).format(15,15,15))
。相反,检查。所以,整个练习(最终目标)看起来有点像是重新发明轮子。所以我应该做返回d1
?是的,这样做并从那里开始。当然,代码的其余部分需要进行相应的修改。我知道这可能看起来像是重复,有一个与此类似的问题,但它是在完全不同的上下文中,我不能很好地理解;)这里的基本问题是,代码只是将内容打印到屏幕上,然后基本上就忘记了。函数应该返回
值,而不仅仅是打印它(实际上,如果只返回
并让调用者打印
或对返回的值执行任何操作,可能会是更好的设计)。一个数字有一个值,而不管它在哪个基中表示。如果您想要相同数字的不同表示,请尝试:print({0:d}{1:X}{2:b}).format(15,15,15))
。相反,检查。所以,整个练习(最终目标)看起来有点像是重新发明轮子。所以我应该做返回d1
?是的,这样做并从那里开始。当然,代码的其余部分需要进行相应的修改。不清楚这“似乎不起作用”;可能你做了其他事情,或者不知道如何重构代码来使用它。“我说过我对python非常陌生,很可能latteri无法准确地标记这一点,因为它对我不起作用,我将对此进行更多测试,等等。我放弃使用GLOBAL
,现在不清楚这是如何实现的“似乎不起作用"; 可能你做了其他事情,或者不知道如何重构代码来使用它。“我有没有提到我对python非常陌生,很可能latteri无法准确地将其标记为正确,因为它对我不起作用,我将对此进行更多测试,等等。我现在放弃使用GLOBAL
,实际上对象已经存在了