Python-如何每次为新结果重复一个循环?
我需要制作的程序读取一个文本文件,其中包含3行对齐的dna序列(每个序列的长度为'n'),并打印出一个长度为'n'的随机列 如果你不想点击东西,基本上是这样的:Python-如何每次为新结果重复一个循环?,python,Python,我需要制作的程序读取一个文本文件,其中包含3行对齐的dna序列(每个序列的长度为'n'),并打印出一个长度为'n'的随机列 如果你不想点击东西,基本上是这样的: AGAACGC AACCTAG AGCTCAC 以下是我的节目: import random file = open('3seq.txt', 'r') seq1 = file.readline().strip() seq2 = file.readline().strip() seq3 = file.readline().stri
AGAACGC
AACCTAG
AGCTCAC
以下是我的节目:
import random
file = open('3seq.txt', 'r')
seq1 = file.readline().strip()
seq2 = file.readline().strip()
seq3 = file.readline().strip()
length = len(seq1)
rand1 = ''
rand2 = ''
rand3 = ''
for blah in range(length):
x = random.randrange(length)
rand1 += seq1[x]
rand2 += seq2[x]
rand3 += seq3[x]
print rand1
print rand2
print rand3
结果是:
ACAGGAA
ATAAACA
ACAAGTA
import random
sequence = open('3seq.txt', 'r')
seq1, seq2, seq3 = sequence.readlines()
sequence.close()
x = 3
def get_random(seq1, seq2, seq3):
length = len(seq1)
rand1 = ''
rand2 = ''
rand3 = ''
for i in range(length):
x = random.randrange(length)
rand1 += seq1[x]
rand2 += seq2[x]
rand3 += seq3[x]
print rand1
print rand2
print rand3
print
for j in xrange(x): # 'x' being defined at the top.
get_random(seq1, seq2, seq3)
如果不太清楚,我很抱歉
所以问题是:
我如何修改我的程序以获得“x”个结果?假设我想要3个结果:
ACAGGAA
ATAAACA
ACAAGTA
AGCCCAA
CAGGGAC
CACCCAC
CGACGCA
TAAGATC
CAACGCC
我正在得到我想要的答案…我只是想把更多的答案打印出来
有什么帮助吗?稍微清理一下代码并为指定的工作创建一个函数,它看起来像:
ACAGGAA
ATAAACA
ACAAGTA
import random
sequence = open('3seq.txt', 'r')
seq1, seq2, seq3 = sequence.readlines()
sequence.close()
x = 3
def get_random(seq1, seq2, seq3):
length = len(seq1)
rand1 = ''
rand2 = ''
rand3 = ''
for i in range(length):
x = random.randrange(length)
rand1 += seq1[x]
rand2 += seq2[x]
rand3 += seq3[x]
print rand1
print rand2
print rand3
print
for j in xrange(x): # 'x' being defined at the top.
get_random(seq1, seq2, seq3)
将当前脚本封装在函数中,并在循环中调用它
3次。同学们?非常感谢!这让我清楚了如何很好地使用函数。很高兴能帮助你,如果你的问题真的满意的话,你也可以对答案进行上选并在上面打上绿色的勾来表示感谢。谢谢。还有一个小问题。是否有理由使用“xrange”而不是“range”?我在我的程序中交换了它们,在这两种情况下似乎都可以正常工作。实际上使用range
是完全可以的,速度上有一点不同,xrange
速度更快,效率更高,因为它不像range
那样创建整个列表。