每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50 行,每一行不超过 50 个字符。
输出一行一个数字表示完成所有料理需要多少种不同的材料。
BUTTER FLOUR HONEY FLOUR EGG
4
a=[] d = {} while 1: try: for k in input().split(): a.append(k) except: break for i in range(len(a)): if a[i] in d.keys(): d[a[i]] = d[a[i]] + 1 else: d[a[i]] = 1 print (len(d.keys()))
import sys words=[] for line in sys.stdin.readlines(): word=line.split() words.extend(word) print(len(set(words)))
'''看到这个题,思路还是很简单的,用集合收集全部的字符串即可。 但是,怎么读取数据?问题之所在。用sys.stdin 看了下其他朋友的答案。发现了另外一种思路。先用列表。在转集合。 答案一,直接集合: import sys result = set() for line in sys.stdin: for string in line.split(): result.add(string) print len(result) 答案二,先用列表,再用集合: import sys res = [] for line in sys.stdin: res.extend(line.split()) result = set(res) print len(result)