문자열을 가져 와서 다음과 같은 목록으로 변환하는 프로그램이 있습니다 - ['CTTC', 'CGCT', 'TTTA', 'CATG']
. (실제로는 이것보다 훨씬 길다). 이제이 목록 요소 중 첫 번째 문자로 C or A or T or G
이 몇 개 있는지 찾아야합니다. 이것은 단말에서, 즉 input
기능을 사용해야합니다. 파이썬 3.2 입력 기능의 데이터 유형에입력 데이터 유형 오류
지금까지 내가 아는이, 문자열 (str
)이 아닌 정수 (int
를) 원하는대로 촬영의 기본입니다 (isinstance
를 사용하여 볼 수 있습니다). 그러나 대학 서버를 사용하고 있기 때문에 파이썬 버전은 오래되었습니다 (2.7 또는 그 이후지만 3.0 이하). 이 경우 입력 기능을 사용하여 사용자에게 문자 initial = input("Choose a letter:")
을 선택하도록 요청하고 문자 (A, T, G 또는 C)를 입력하면 오류 NameError: name 'C' is not defined
이 표시됩니다. isinstance
을 사용하여 데이터 유형을 검사했을 때, 파이썬 버전이 int
으로 입력 데이터 유형을 사용한다는 것을 알게되었습니다. 문자열로 변환하려고하면 같은 오류가 발생합니다. 그것은 버전의 문제인가 아니면 내가 잘못하고있는 것인가입니다. 내 코드는 아래와 같습니다.
import sys
#import random
file = open(sys.argv[1], 'r')
string = ''
for line in file:
if line.startswith(">"):
pass
else:
string = string + line.strip()
w = input("Please enter window size:")
test = [string[i:i+w] for i in range (0,len(string),w)]
#seq = input("Please enter the number of sequences you wish to read:")
#first = random.sample((test), seq)
print test
l = input("Enter letter for which you wish to find the probability:")
lin = str(l)
print lin
'input' 파이썬 2 raw_input' 대신 '파이썬 3.보다 완전히 다른 것입니다 : 여기
는defaultdict
방법입니다. –내 프로그램에서 입력을 사용했지만 문제없이 작동했습니다. 그럼에도 불구하고 코드 –
을 살펴 본다면 그것이 문제라는 것을 알 수 있습니다. –