如何请求用户的输入使代码交互

2024-04-25 14:36:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了以下代码:

gene = open("AY365046.1.txt","r")

g=0;
a=0;
c=0;
t=0;

gene.readline()

for line in gene:
    line = line.lower()
    for char in line:
        if char == "g":
            g+=1
        if char == "a":
            a+=1
        if char == "c":
            c+=1
        if char == "t":
            t+=1

print "Guanina: " + str(g)
print "Adenina: " + str(a)
print "Citosina: " + str(c)
print "Timina: " + str(t)

gc = (g+c+0.) / (a+t+c+g+0.)

print "Conteúdo GC: " +str(gc)

现在我想让它互动。。。我的目标是使用input()函数来获得“序列号”,它将显示相应的数据。。。你知道吗

在上面的代码中,它只获得一个序列/文件(AY365046.1.txt)的数据。。。因此,我需要代码来访问更多的文件(例如,sequence1.txtsequence2.txt)。。。然后,在input()函数通知的序列/文件上获得gact的数据。。。你知道吗

例如:

1)系统要求序列号

2)用户类型sequence2

3)系统从sequence2.txt获取数据

4)变量gact从该文件获取数据

5)如果序列不存在,则打印错误。。。你知道吗

据我所知,要做到这一切,我只需要声明变量,将.txt文件分配给每个变量,并生成if/else。。。你知道吗

问题是我已经尝试了所有我能找到的,但什么都不管用。。。你知道吗

显然我不是要为我做代码,但是。。。你们能不能至少告诉我该从哪里开始?我的逻辑是正确的吗?我错过了什么?你知道吗


Tags: 文件数据代码intxtforifline
2条回答

我想你想要这个:

import os

id = raw_input('please enter the file numbers id:')
file='AY{0}1.txt'.format(id)

if not os.path.exists(file):
    print "Error the file doesn't exists"
else:
    g,a,c,t=0,0,0,0
    with open(file,'r') as f:
        next(f)
        for line in f:
            for char in line.lower():
                if char == 'g':
                    g+=1
                if char == 'a':
                    a+=1
                if char == 'c':
                    c+=1
                if char == 't':
                    t+=1

    print "Guanina: {0}".format(g)
    print "Adenina: {0}".format(a)
    print "Citosina: {0}".format(c)
    print "Timina: {0}".format(t)

    gc = (g+c+0.) / (a+t+c+g+0.)

    print "Conteúdo GC: {0}".format(gc)

但是我认为您应该解释代码的预期行为,因为它实际上并不清楚。你知道吗

我在代码中看到的问题是,您只从文本文件中读取一行。下面的代码将返回整个文档的列表,这样您就可以像其他代码那样迭代。你知道吗

with open("AY365046.1.txt","r") as f:
   lines = f.readlines()

您可以在manual中阅读有关file对象的更多信息

相关问题 更多 >