文字列を取り、それを次のようなリストに変換するプログラムがあります - ['CTTC', 'CGCT', 'TTTA', 'CATG']。(実際にはこれよりもずっと長い)。次に、これらのリスト要素の最初のC or A or T or G文字が a である要素の数を見つける必要があります。これは、関数を使用して端末から取得する必要がありinputます。
私が知る限り、Python 3.2 では、入力関数のデータ型はデフォルトで文字列 ( ) として取得されstr、整数 ( int) とは異なります ( を使用して表示できますisinstance)。ただし、私は大学のサーバーを使用しているため、pythonのバージョンは古いです(2.7以降で3.0未満だと思います)。この場合、入力機能を使用してユーザーに文字を選択するように求める initial = input("Choose a letter:")と、任意の文字 (A、T、G、または C) を入力するとエラーが発生しますNameError: name 'C' is not defined。を使用してデータ型を確認isinstanceしたところ、Python バージョンは入力のデータ型を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