从另一个函数中的返回函数调用变量,但第一个返回中的变量发生变化

问题描述

我有一个游戏,它使用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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...