我嘗試創建一個函數,它會生成隨機的int值,並且在值出現兩次之後,函數應返回所有生成的int值的數量。 我必須使用字典。python:正確使用字典
這是我到目前爲止的代碼:
def repeat(a,b):
dict={}
d=b-a+2
for c in range(1,d):
dict['c']=random.randint(a,b)
for f in dict:
if dict['f']==dict['c']:
return c
第一個問題:它不工作。
>>> repeat(1,5)
Traceback (most recent call last):
File "<pyshell#144>", line 1, in <module>
repeat(1,5)
File "<pyshell#143>", line 7, in repeat
if dict['f']==dict['c']:
KeyError: 'f'
問題二:因爲這兩個值是相同的if dict['f']==dict['c']:
應該在第一步如此。
我無法找到一個聰明的方式來比較所有值,而無需將密鑰與自身進行比較。
對不起,我的英語不好,它有點生鏽,謝謝你的時間。
存在爲'快譯通[ 'F']'你永遠不分配它 – TehTris
嘗試字典[F]沒有這樣的事; 'f'是指文字字符串f,而不是變量/迭代器f –