将序列从以前的代码导入到另一个

Importing sequence from previous code into another

这是我的任务:

卡片有两种类型:红色和蓝色。 6-10 张卡片被抽出并放回。抽出另外 6-10 张牌。我创建了一个序列,可以给出 6、7、8、9 和 10 张牌的所有可能结果。这是序列:

from itertools import combinations_with_replacement 

def generate_sequence(): 
  box_1=['R','B']
  comb = combinations_with_replacement(box_1, 6) 
  for i in list(comb): 
    print(i)

  comb = combinations_with_replacement(box_1, 7) 
  for i in list(comb): 
    print(i)
    
  comb = combinations_with_replacement(box_1, 8) 
  for i in list(comb): 
    print(i)
    
  comb = combinations_with_replacement(box_1, 9) 
  for i in list(comb): 
    print(i)

  comb = combinations_with_replacement(box_1, 10) 

  for i in list(comb): 
    print(i)

现在,我必须将生成的序列导入到我编写的这个方程中。

#Draws 
first_draw = 
second_draw = 

#Before first draw

initial_estimate = 0.5
initial_variance = 1/12

#After first draw 

r_count = first_draw.count('R')
b_count = first_draw.count('B')


alpha = 1 + r_count
beta = 1 + b_count

e_of_theta = alpha/(alpha+beta)

surprise = ((e_of_theta - initial_estimate)**2)/(initial_variance)

var_theta = (alpha * beta)/ ((alpha + beta) **2 *(alpha + beta + 1))

#After second draw 

r_count = second_draw.count('R')
b_count = second_draw.count('B')

new_alpha = alpha + r_count 
new_beta = beta + b_count 

new_e_of_theta = new_alpha/(new_alpha + new_beta)

surprise = ((new_e_of_theta - e_of_theta)**2)/var_theta

print(surprise)

在first_draw和second_draw所在的空白区域,就是我需要放入第一个代码生成的序列的地方。我需要序列的所有可能组合为 first_draw 和 second_draw,因此我得到了等式所有可能结果的列表。但是,我正在努力将这些序列插入 first_draw 和 second_draw。有人可以帮我解决这个问题吗?

如果您想 'draw' 从列表中随机选择一个元组,请使用:

from itertools import combinations_with_replacement 
import pandas as pd
import random

deckOrder=[]

box_1=['R','B']
comb = combinations_with_replacement(box_1, 6) 
for i in list(comb): 
    deckOrder.append(i)

comb = combinations_with_replacement(box_1, 7) 
for i in list(comb): 
    deckOrder.append(i)
    
comb = combinations_with_replacement(box_1, 8) 
for i in list(comb): 
    deckOrder.append(i)
    
comb = combinations_with_replacement(box_1, 9) 
for i in list(comb): 
    deckOrder.append(i)

comb = combinations_with_replacement(box_1, 10) 
for i in list(comb): 
    deckOrder.append(i)

#Draw
    
first_draw = random.sample(deckOrder, 1)
second_draw = random.sample(deckOrder, 1)