所以我需要在python输入列表中计算单个单词(特别是红色和蓝色)。 但是,它不能是例如redish或bluemaybe。 这就是我所做的事情(我已经尝试过如果循环捕获它但没有工作。)
r = 0
b = 0
cars = []
car = input("Cars: ")
cars.append(car)
car.split()
r = car.count('red')
b = car.count('blue')
print("red:",r)
print("blue:",b)
答案 0 :(得分:2)
以下作品。
# replace by 'carsStr = input("Cars: ")' if you wish
carsStr = "rad blue blueish redish red blue red"
# str.split() returns a list of strings, never in-place
cars = carsStr.split()
r = cars.count('red')
b = cars.count('blue')
print("red:",r)
print("blue:",b)
以下是您的错误:
cars.append(car)
然后car.split()
不会"展开" car
列表中的cars
字符串。car.split()
不会就地发生,它会返回一个字符串列表。在您的情况下,该列表会丢失,因为您不会将其分配给变量。cars
列表。如果您想要一个更完整的计数工具,请参阅https://docs.python.org/3/library/collections.html#counter-objects。
答案 1 :(得分:-1)
您可以循环遍历列表然后返回值 拆分和追加是没有必要的。面对编码问题时,尽量找到最简单的答案,最简洁,不要牺牲任何实质内容。
async.each