2017-01-12 8 views
-1

私は私はあなたがすることを願って、私のコーディングエラー例外TypeError:のためのサポートされていないオペランドのタイプ(S) - : 'STR' と 'str' は

ki = raw_input("Enter Initial Key in HEX 20 bit :") 
IV = raw_input("Enter Initial vector in HEX 16 bit :") 

for i in xrange(0,20,2): 
if(ki[i]>='0' and ki[i]<='9'): 
    ie=ki[i]-'0' 
elif (ki[i]>='a' and ki[i]<='f'): 
    ie=ki[i]-'a'+10 
elif (ki[i]>='A' and ki[i]<='F'): 
    ie=ki[i]-'A'+10 

このエラー

Traceback (most recent call last): File "C:/Users/MrX/PycharmProjects/grain/grain.py", line 16, in ie=ki[i]-'0'; TypeError: unsupported operand type(s) for -: 'str' and 'str'

にいくつかのエラーをしましたそれを修正するのに役立ちます。あなたは、文字列の-オペランド呼んでいるおかげ

+1

コードが行うことになっているもの:

ord機能は何がしたいのですか? –

+1

数字が入っていても文字列から文字列を引くことはできません。 –

答えて

0

ie = ki[i] - 'a' + 10 

を私はあなたがPythonで簡単な引用符は、文字のASCII値と呼ば思ったと推定します。しかし、Pythonでは、単純引用符と二重引用符は厳密に等価であり、両方とも文字列を表します。

>>> ord('a') 
97 
関連する問題