PythonでVerify anagrams

f:id:g_YUYUYU:20140527005544j:plain

コード

def verify_anagrams(first_word, second_word):

	f = first_word.encode("utf-8")
	s = second_word.encode("utf-8")

	f = f.lower().translate(None, ' ')
	s = s.lower().translate(None, ' ')

	f = sorted(f)
	s = sorted(s)
	
	if s == f:
		print "yes"
	else:
        	return False
if __name__ == '__main__':
	verify_anagrams(u"Programming", u"Gram Ring Mop") #== True, "Gram of code"
	verify_anagrams(u"Hello", u"Ole Oh") #== False, "Hello! Ole Oh!"
	verify_anagrams(u"Kyoto", u"Tokyo") #== True, "The global warming crisis of 3002"

PythonでRoman numerals

f:id:g_YUYUYU:20140521173720j:plain

コード

def checkio(data):
	n4 = [0,1000,2000,3000]
	r4 = ["","M","MM","MMM"]
	n3 = [0,100,200,300,400,500,600,700,800,900]
	r3 = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"]
	n2 = [0,10,20,30,40,50,60,70,80,90]
	r2 = ["","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"]
	n1 = [0,1,2,3,4,5,6,7,8,9,10]
	r1 = ["","I","II","III","IV","V","VI","VII","VIII","IX","X"]
		
	d = list(str(data).zfill(4))

	m4 = int(d[0] + "000")
	m3 = int(d[1] + "00")
	m2 = int(d[2] + "0")
	m1 = int(d[3])

	s = ""
	
	if m4 in n4:
		s = r4[n4.index(m4)]
	if m3 in n3:
		s = s + r3[n3.index(m3)]
	if m2 in n2:
		s = s + r2[n2.index(m2)]
	if m1 in n1:
		s = s + r1[n1.index(m1)]
	print s

#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
#	checkio(6) #== 'VI'
#	checkio(13) #== 'XIII'
#	checkio(44) #== 'XL IV'
	checkio(76) #== 'LXX VI'
	checkio(602) #== "DCII"
	checkio(3810) #== "MMMDCCCX"
#	checkio(3999) #== 'MMM CM XC IX'