我已经编写了一个读取输入序列的脚本,但是必须在您按下Caps键的情况下编写该序列!如果未启用Caps Lock键,除了该错误我该如何要求一个新序列?

我有:

while True:
try:
    seq = input ("voer uw sequentie in, IN HOOFDLETTERS: ")

    break
except (ValueError, IndexError, KeyError ):
    print("voer uw sequentie in , IN HOOFDLETTERS")

但是,如果在不使用Caps锁定的情况下编写此代码,则该代码对序列没有任何作用。

有人可以帮我吗

我已经在这里按关于het互补空气序列发布了mij问题!

我必须做下一帧:
`+3 SerIleLeuAlaStpProLysTrpGluProProTyrValAlaStpProIleTyrIleTyrTle`
+2 PheAsnThrSerMetThrLysValGlyThrProLeuArgSerMetThrHisIleTyrIleTyr+1 PheGlnTyrStpHisAspGlnSerGlyAsnProLeuThrStpHisAspProTyrIleTyrIleTTTCAATACTAGCATGACCAAAGTGGGAACCCCCTTACGTAGCATGACCCATATATATATATATATATATATATATATATGGGTCATGCTACGTAAGGGGGTTCCCACTTTGGTCATGCTAGTATTGAAA-1 TyrIleTyrIleTyrGlySerCysTyrValArgGlyPheProLeuTrpSerCysStpTyrStp-2 IleTyrIleTyrMetGlyHisAlaThrOc*GlyGlySerHisPheGlyHisAlaSerIleglu-3 TyrIleTyrIleTrpValMetLeuArgLysGlyValProThrLeuValMetLeuValLeuLys
中间的序列是我的输入序列,mijn输入序列下的序列是mijn互补序列,+1是我整个序列的翻译。 +2是从位置1开始的翻译,而+3是从位置2开始的翻译(计数从零开始)

-1,-2和-3是相同的计算,但现在我必须使用我的补码序列。

我已经完成了前几帧,但是我无法完成序列,complementair。
我用下一个脚本完成了它:
def translate(seq):
        x = 0
        aaseq = []
        while True:
            try:
                aaseq.append(dicti[seq[x:x+3]])
                x += 3
            except (IndexError, KeyError):
                break
        return aaseq

    for frame in range(3):
        #print(translate(seq[frame:]))

        print(''.join(item.split('|')[0] for item in translate(seq[frame:])))

有人可以帮我补航吗?

谢谢

最佳答案

我看不到您实际检查大写字母的任何地方。我建议使用if语句而不是try else语句。

while True:
    seq = input("voer uw sequentie in, IN HOOFDLETTERS: ")
    if seq.isupper():
        break
    else:
        print "Input must be IN HOOFDLETTERS"

另外,您也可以只接受用户输入并自己大写。

10-08 13:23