Python 从结果列到具有相同结果的行
我真的是python的初学者,在课堂上我正在分析掷硬币任务。投掷次数为Python 从结果列到具有相同结果的行,python,row,sequence,flip,Python,Row,Sequence,Flip,我真的是python的初学者,在课堂上我正在分析掷硬币任务。投掷次数为1000,可能的结果为1,2。我被要求创建具有相同结果序列的行(例如11,然后22,…),并给出出现的最长序列的长度 from numpy.random import randint, seed seed(0) for n in range(1000): r = randint(1,3) print(r) 这给了我一个单独的专栏,报告结果如下 1 2 1 1 2 1 1 我无法找到合适的代码来创建具有相同结果
1000
,可能的结果为1
,2
。我被要求创建具有相同结果序列的行(例如11
,然后22
,…),并给出出现的最长序列的长度
from numpy.random import randint, seed
seed(0)
for n in range(1000):
r = randint(1,3)
print(r)
这给了我一个单独的专栏,报告结果如下
1
2
1
1
2
1
1
我无法找到合适的代码来创建具有相同结果的序列行。您正在打印for循环每次迭代的结果 一个简单的解决方案是创建两个列表,每个列表包含1或2的每次出现:
list1 = []
list2 = []
在for循环中,可以使用list.append方法将r的值添加到相应的列表中:
for n in range(1000):
r = randint(1, 3)
if r == 1:
list1.append(r)
else:
list2.append(r)
这样,列表1包含数字1的每个匹配项,而列表2包含所有数字2
现在,您可以打印这两个列表,并使用len()获取每个列表中的元素数。您正在打印for循环每次迭代的结果 一个简单的解决方案是创建两个列表,每个列表包含1或2的每次出现:
list1 = []
list2 = []
在for循环中,可以使用list.append方法将r的值添加到相应的列表中:
for n in range(1000):
r = randint(1, 3)
if r == 1:
list1.append(r)
else:
list2.append(r)
这样,列表1包含数字1的每个匹配项,而列表2包含所有数字2
您现在可以打印这两个列表,并使用len()获取每个列表中的元素数。尝试以下操作:
count1 = 0
count2 = 0
for n in range(1000):
r = randint(1, 3)
if r == 1:
count1 += 1
elif r == 2:
count2 += 1
if count1 > count2:
print('1'*count1)
print('2'*count2)
print('Longest sequence is of 1\'s, with %s occurences' %count1)
else:
print('1'*count1)
print('2'*count2)
print('Longest sequence is of 2\'s, with %s occurences' %count2)
试试这个:
count1 = 0
count2 = 0
for n in range(1000):
r = randint(1, 3)
if r == 1:
count1 += 1
elif r == 2:
count2 += 1
if count1 > count2:
print('1'*count1)
print('2'*count2)
print('Longest sequence is of 1\'s, with %s occurences' %count1)
else:
print('1'*count1)
print('2'*count2)
print('Longest sequence is of 2\'s, with %s occurences' %count2)
你能不能更详细地阐述一下你的问题陈述,并给出适当的输出示例?这将有助于正确理解你的问题。我想这意味着没有人真正理解你的问题。顺便说一下,我不明白你的问题…是的。。。问题陈述不太清楚。你能不能用适当的输出示例更详细地阐述一下你的问题陈述?这将有助于正确理解你的问题。我想这意味着没有人真正理解你的问题。顺便说一下,我不明白你的问题…是的。。。问题陈述并不那么清楚。