【发布时间】:2016-07-06 04:01:53
【问题描述】:
在过去的几个小时里,我一直在尝试这个,但我无法正确获取代码。我想读取用户输入(例如“红色”、“蓝色”、“绿色”、“红色”)并在字典中输出颜色和该颜色的计数。
这是我的代码 - 我知道它肯定有问题,尤其是在设置字典时(它还有一个 while 循环不断要求输入,直到用户输入空白)
输入:“红色”、“蓝色”、“绿色”、“红色”
dict = {}
car_colours = input("Car: ")
frequency = 0
while car_colours != '':
dict['frequency'] = car_colours.count(car_colours)
dict['colours'] = car_colours
frequency = frequency + 1
car_colours = input("Car: ")
print(dict)
我还假设我需要一个 for 循环来获得下面所需的输出?
期望的输出
Cars that are red: 2
Cars that are blue: 1
我什至不确定我是否需要上面的代码:
frequency = 0
frequency = frequency + 1
感谢您的帮助!
【问题讨论】:
-
请缩进代码 - 现在无法分辨
whilelops 的结束位置。 -
你想在字典中存储什么?您一次只能为每个 unique 键存储 一个 值。
-
很抱歉@Wojciech Ptak 代码现在已经缩进。我想存储“颜色”,然后“频率”将是字典中的值。因此,对于每种颜色,它都会计算用户输入的次数(即频率)。
-
尝试首先运行一个不包含循环的最小程序,只询问用户一次,将该颜色存储在字典中并打印出来。这可能有助于您了解正在发生的事情,因为 - 坦率地说 - 代码需要从头开始重写。
标签: python dictionary input while-loop