Программа, которую мне нужно было сделать, читает текстовый файл с тремя строками выровненных последовательностей dna (каждый с длиной «n») и печатает случайный столбец для длины «n».Python- Как повторять цикл для нового результата каждый раз?
Если вы не хотите, чтобы нажать вещи, это в основном это:
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
Прошу прощения, если это не слишком ясно.
Таким образом, вопрос заключается в следующем:
Как я могу изменить свою программу, так что я получаю число «х» результатов? Скажем, я хотел 3 результата:
ACAGGAA
ATAAACA
ACAAGTA
AGCCCAA
CAGGGAC
CACCCAC
CGACGCA
TAAGATC
CAACGCC
Я получаю ответ, я хочу ... Я просто хочу, чтобы его распечатали больше.
Любая помощь?
инкапсулировать текущий скрипт в функцию и вызвать его '3' раз внутри цикла. – ZdaR
Кажется, похоже на [этот вопрос] (http://stackoverflow.com/questions/29932251/generating-random-string-from-a-different-string-in-python). Одноклассники? – TigerhawkT3