如何解决从另一个函数中的返回函数调用变量,但第一个返回中的变量发生变化
我有一个游戏,它使用21和27的数字作为核心价值。我在函数num_ofNum中使用21作为默认参数,但是在我的主python文件中,这些文件调用这些函数来玩我重写的游戏 num_ofNumbs = 21,num_ofNumbs = 27。
变量number_pool只是一个随机数字列表,随时可以在deal_the_numbers
函数中进行索引和处理。
def deal_the_numbers(Number_Pool,num_ofNumbs = 21):
math = (num_ofNumbs//3)
print(math)
a,b,c = (Number_Pool[::3]),Number_Pool[1::3],Number_Pool[2::3]
a = a[0:math]
b = b[0:math]
c = c[0:math]
split_number_list=(a,c)
print(split_number_list)
return split_number_list
在这里,我希望列表中的前7个或9个数字分别成为b或c值。根据需要在该功能作为数学可变打印9时被选择的27游戏这个作品。
output: 9
split_number_list然后也根据需要返回
(['92','45','61','88','78','66','32','12','1'],['99','76','71','90','10','44','77','13'],['8','4','89','98','21,'65','5','14','19'])
但是,当我要在另一个函数中调用此变量时,与其返回我希望的前9个数字,它不返回列表中的7个数字,使该游戏与21号游戏一样。
def combine_num(split_number_list,card_column):
s = def deal_the_numbers(Number_Pool)
a,c = s
print("")
print("cards being dealt")
print(s)
但是,当调用此函数并将其返回变量定义为“ s”时,与deal_the_numbers
函数中相同的打印行(曾经打印出9)现在将打印7。变量“ s”也打印出了7三个列表中每个列表的数字,而不是所需的9个。
output: (['92','32'],'44'],'5'])
我的主要想法是使用可以在我的主python文件中改写的默认参数,以便num_ofnums = 27,并且我可以同时使用27和21数字玩游戏。有什么想法。
解决方法
非常难以对您要在此处实现的目标进行逆向工程-下次,请尝试将问题稍作隔离(可以想到的最简单的业务场景)。不过,我会试一试:
s = def deal_the_numbers(Number_Pool)
def 用于实际上定义功能,而不是调用它。如果要使用num_ofNumbs = 27调用该函数,只需将其传递给该函数:
s = deal_the_numbers(Number_Pool,27)
如果省略第二个参数,则将使用默认值(21)。
这里有很多解释:https://www.w3schools.com/python/python_functions.asp
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。