|
本帖最后由 newlearn 于 2018-2-12 18:18 编辑
循环体内的 bag = put(answer) 这个函数里面会每次都把值设置为0,然后在下面的if语句内+1所有每次输出都是1。第二个参数你都不传 默认都是会新建一个实例的 而不是改变已有的实例,而且引用类型的参数不要这样设置默认参数。完整代码改成这样:
- def user():
- answer = input("what you want to put in your bag? ")
- return answer
- def put(answer,bag =None):
- bag[answer] = 0
-
- def main():
- signal =True
- bag = {}
- while signal:
- answer = user()
- if answer in bag:
- bag[answer] += 1
- else:
- put(answer,bag)
- print(bag)
- main()
复制代码 |
|