2017-08-22 19 views
0
def number(m,n): 
    count=0 
    str1=str(m) 
    str2=str(n) 
    for i in str1: 
     if i in str2: 
      count+=1 
    print count 

2桁の数字の繰り返し回数を調べようとしています。私はnumber(242,321)を呼び出すときに何が起こる2つの数字の間に共通する桁数(ユニーク数字)

は次のとおりです。

count値は、所望の出力となり2代わりの1に等しくなります。

+0

は、あなたの要件をもう少し具体的でなければなりません。ポジションはどういう意味ですか? –

+0

@JonClementsあなたはそれを再度読みたいかもしれません。彼はただ一つのループしか持たず、 'i'はここで変数として完全にうまくいっています。問題は、重複桁を無視しないことだけです。 – Zinki

+0

@Zinki oops ...私の眠そうな目は、そこに惹かれた...私の悪い - ありがとう。 –

答えて

3

数字の重複したバージョンが必要です。 Prollyセットを使用し、その交点を取る:

def number(m,n): 
    return len(set(str(m)).intersection(str(n))) 

>>> number(242, 321) 
1 
+1

は10秒間同じように私を打ち負かした。私は機械的なキーボードを買わなければならない。 xD –

関連する問題