-1

入力シーケンスを読み取るスクリプトを作成しましたが、このシーケンスは 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 Complementair シーケンスについて、ここに mij の質問を投稿しました。


次のフレームを作成する必要があります:

`+3 SerIleLeuAlaStpProLysTrpGluProProTyrValAlaStpProIleTyrIleTyrTle`

+2 PheAsnThrSerMetThrLysValGlyThrProLeuArgSerMetThrHisIleTyrIleTyr

+1 PheGlnTyrStpHisAspGlnSerGlyAsnProLeuThrStpHisAspProTyrIleTyrIle

TTTCAATACTAGCATGACCAAAGTGGGAACCCCCTTACGTAGCATGACCCATATATATATATATA

TATATATATATATATGGGTCATGCTACGTAAGGGGGTTCCCACTTTGGTCATGCTAGTATTGAAA

-1 TyrIleTyrIleTyrGlySerCysTyrValArgGlyPheProLeuTrpSerCysStpTyrStp

-2 IleTyrIleTyrMetGlyHisAlaThrOc*GlyGlySerHisPheGlyHisAlaSerIleglu

-3 TyrIleTyrIleTrpValMetLeuArgLysGlyValProThrLeuValMetLeuValLeuLys

真ん中の sequentie は私の入力シーケンスです。mijn 入力シーケンスの下の sequentie は mijn 相補シーケンスです。+1 は私の seq 全体の翻訳です。+2 は位置 1 から始まる変換で、+3 は位置 2 から始まります (カウントはゼロから始まります)。

-1、-2、および -3 は同じ計算ですが、今は鉱山の Complementair seq を使用する必要があります。

私が行った最初のフレームですが、自分の seq 、 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:])))

誰かが補完部分で私を助けることができますか??

ありがとう

4

1 に答える 1

1

大文字であるかどうかを実際に確認する場所はどこにもありません。tryexceptステートメントではなくifthenステートメントを使用することをお勧めします。

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

または、ユーザー入力を取得して、自分で大文字にすることもできます。

于 2012-01-03T15:48:33.247 に答える