Skip to main content
 首页 » 编程设计

python之如何要求用户输入以使代码具有交互性

2025年05月04日9emanlee

我创建了这段代码:

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.txt and sequence2.txt)... 然后,得到g, a, c 和 t 在 input() 函数通知的序列/文件上......

例如:

1) 系统要求序列号

2) 用户类型sequence2

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

4) 变量g、a、c和t从那个文件中获取数据

5) 如果序列不存在,打印错误...

据我所知,要做到这一切,我只需要声明变量,将 .txt 文件分配给每个变量,然后进行 if/else...

问题是我已经尝试了所有我能找到的,但没有任何效果......

显然我不是要为我编写代码,但是...你们至少可以告诉我我需要从哪里开始吗?我需要做的事情的逻辑是正确的吗?我错过了什么?

请您参考如下方法:

我想你想要这个:

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) 

但我认为您应该解释代码的预期行为,因为它不是很清楚。