2016-12-07 4 views

答えて

0

なぜあなたはそれを最初からやっていますか?リスト内包が行く方法です。 は、とにかくここにあなたがそれを行うことができます方法は次のとおりです。

内側から始まっ

temp = [] 
for i in raw_input().split(): 
    temp.append(int(i)) 
print hash(tuple(temp)) 
1

を(私はコメント欄でのコードスニペットをフォーマットすることができなかったので、答えとして投稿):

raw_input().split() 

take user input、それを文字列として返し、空白文字でsplitをリストに返します。したがって、ユーザが'1 2 3'と入力すると、['1', '2', '3']となります。

[int(i) for i in raw_input().split()] 

は、文字のリストを取り、そしてintegerとして表される各文字を使用して新しいリストを作るlist comprehensionです。したがって、前の例のユーザー入力では、このリストの理解は[1, 2, 3]を返します。

tuple(...)return a tupleリストの理解のすべての要素で、(1, 2, 3)となります。

最後にhash()はオブジェクトのhash valueを返します。ここで

あなたは複数行の上にこれを広げることができ、一方向(インタラクティブIPythonインタプリタで行われます。最後の数行はhash()は関係なく、あなたが一つに全力を尽くすかどうか、同じであることを示して

In [1]: inp = raw_input('Enter your values') 
Enter your values1 2 3 

In [2]: inp 
Out[2]: '1 2 3' 

In [3]: vals = [int(i) for i in inp.split()] 

In [4]: vals 
Out[4]: [1, 2, 3] 

In [5]: input_hash = hash(tuple(vals)) 

In [6]: input_hash 
Out[6]: 2528502973977326415 

In [7]: hash(tuple([int(i) for i in raw_input().split()])) == input_hash 
1 2 3 
Out[7]: True 

行、または複数行にわたり。

1

ここでは、このコード

a = raw_input().split() ## Taking a string of nums as input 
b = [] 
for i in a: 
    b.append(int(i)) 
b = tuple(b) 
print hash(b) 
の簡易版であります
関連する問題