在Python中以1到3范围内的随机重复间隔生成2个变量的列表
我需要在电子表格中为我的实验生成一个“X”和“O”符号的随机列表。总和应为200(100 X和100 O)。一行中不应该有超过三个相同的符号——我是python新手,所以我正在努力。它可以是Python或R。我非常感谢您的帮助。在Python中以1到3范围内的随机重复间隔生成2个变量的列表,python,r,list,random,Python,R,List,Random,我需要在电子表格中为我的实验生成一个“X”和“O”符号的随机列表。总和应为200(100 X和100 O)。一行中不应该有超过三个相同的符号——我是python新手,所以我正在努力。它可以是Python或R。我非常感谢您的帮助。aimport random a <- sample(rep(c("X","O"), each = 100), 200, replace = F) table(a) X O 100 100 def random_ints_和(n): 当n>0时: r=ran
aimport random
a <- sample(rep(c("X","O"), each = 100), 200, replace = F)
table(a)
X O
100 100
def random_ints_和(n):
当n>0时:
r=random.randint(1,3)
n-=r
如果(n<0):
n+=r
其他:
产量r
def打印字符数(num,char):
对于范围内的i(0,num):
打印(char,end=“”)
num_o=100
num_x=100
list\u of_o=list(随机输入与总和(num\u o))
尽管如此:
list_of_x=list(随机输入与总和(num_x))
如果(len(list_of_o)==len(list_of_x)):
打破
对于范围(0,len(列表)中的i):
打印字符(o[i],“o”的列表)
打印字符(x[i],“x”的列表)
是的,它正在发挥作用,但在一个列表中,一行中有不止3个相同的符号-我不需要超过3个相同的符号
import random
def random_ints_with_sum(n):
while n > 0:
r = random.randint(1, 3)
n -= r
if (n < 0):
n += r
else:
yield r
def print_chars(num, char):
for i in range(0,num):
print(char, end="")
num_o = 100
num_x = 100
list_of_o = list(random_ints_with_sum(num_o))
while True:
list_of_x = list(random_ints_with_sum(num_x))
if (len(list_of_o) == len(list_of_x)):
break
for i in range(0,len(list_of_o)):
print_chars(list_of_o[i],"O")
print_chars(list_of_x[i],"X")