我尝试创建一个函数,它会生成随机的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 –