文字列を取り、それを次のようなリストに変換するプログラムがあります - ['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