我有一个程序,它接受一个字符串并将其转换为如下所示的列表 - ['CTTC', 'CGCT', 'TTTA', 'CATG']
。(它实际上比这长得多)。现在我需要找出这些列表元素中有多少是C or A or T or G
第一个字母。这需要从终端获取,即使用该input
功能。
现在据我所知,在 python 3.2 中,输入函数的数据类型默认为字符串 ( str
) 而不是整数 ( int
)(可以通过 using 看到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