2017-11-07 14 views
0

私はこれを単純化して、より少ないスペースを必要とするものを得る必要があります。どんな助けもありがたい。文章を「秘密のコード」のようにすることに取り組んでいるプロジェクトです。これを簡略化するには?

a = translate[0] #gets a letter from the sentence entered 
aa = values[a] #assigns a value (a=1,b=2,etc...) to the letter 
print(aa+16) #adds 16 to the letter's value and prints it. 


a = translate[1] 
aa = values[a] 
print(aa+16) 

a = translate[2] 
aa = values[a] 
print(aa+16) 


a = translate[3] 
aa = values[a] 
print(aa+16) 

a = translate[4] 
aa = values[a] 
print(aa+16) 

a = translate[5] 
aa = values[a] 
print(aa+16) 

a = translate[6] 
aa = values[a] 
print(aa+16) 

a = translate[7] 
aa = values[a] 
print(aa+16) 

a = translate[8] 
aa = values[a] 
print(aa+16) 

a = translate[9] 
aa = values[a] 
print(aa+16) 

a = translate[10] 
aa = values[a] 
print(aa+16) 

a = translate[11] 
aa = values[a] 
print(aa+16) 

a = translate[12] 
aa = values[a] 
print(aa+16) 

a = translate[13] 
aa = values[a] 
print(aa+16) 

PS:誰もが入力された単語の長さを設定する必要がないように、私は14文字の単語を入れている場合、すなわち、今のコードはのみ動作します(それを作ることができますどのように私に言うことができる場合)そして私がスペースに値を割り当てる方法( "")私はそれを感謝します。

+1

ループのいくつかの種類、例えばを使用します'for'ループ – Leistungsabfall

+0

ありがとうございますが、私はこれで新しいです:/あなたは例を挙げることができますか? –

+1

Python Loops:https://www.learnpython.org/en/Loops – KelvinS

答えて

2

ループを使用する必要があります。

for x in range(14): 
    a = translate[x] 
    aa = values[a] 
    print(aa+16) 

これは、コンピュータサイエンスの非常に基本的な構造であり、そして私はあなたが大きなプロジェクトを引き受ける前に、基本的なプログラミングのアイデアのより強力なコマンドを開発するお勧めします。 codecademyのようなサイトをお試しください。このような簡単な質問をする必要はありません。レコードのけれども:

word = input() #the word you read in 
for x in range(len(word)): #this will allow you to read words of arbitrary length 
    a = translate[x] 
    aa = values[a] 
    print(aa+16) 
+0

ありがとうございました。申し訳ありませんが、これは本当に基本的な問題です。 –

+1

**注** 'raw_input()'はPython 2.7用です。 – KelvinS

+0

@KelvinS:ありがとう、編集済みです。 @ B.Rumafriend質問はいつでもうまくいきます。チュートリアルを試してみたら、もっと楽な時間を過ごせると思います。 BTWは、あなたの投稿の他の質問に答えるために、 'ord(char)'は、 'を含むASCII文字に整数値を割り当てます。 – colopop

2

サンプルコードスニペット(文字のASCII値を取得するために、ORDを使用していますORD( 'A')= 97、ORD( 'A')= 65など):

translate = input("Enter some text: ") 
output = "" 
for char in translate: 
    output += str(ord(char) + 16) 

print(output) 

実行出力:

Enter some text: This is a sample text. 
1001201211314812113148113481311131251281241174813211713613262 
関連する問題