第1个回答 2012-01-19
a=['A','B','C','B','A','A','C','B','B','A','C','B','C','A','B','B','C','C','B','C']
b=["A",'B','C']
print(a)
a.sort(key=b.index)
print(a,'\n')
t='床前明月光 疑似地上霜 举头望明月 低头思故乡'
t=t.split()
a=[[l[i]+' ' for l in t] for i in range(len(t[0]))]
for r in a:
print(''.join(r))
print('\n')
def calcEaters(men,women, children):
amount=men*3+women*2+children
heads=men+women+children
if amount> 50 or heads>30:
return False
elif amount==50 and heads==30:
print('吃饭的 男:'+repr(men)+' 女:'+repr(women)+' 童:'+repr(children))
return True
else:
return calcEaters(men+1,women, children) or calcEaters(men,women+1, children) or calcEaters(men,women, children+1)
calcEaters(1,1,1)
print('\n')
count = 0
print("红\t白\t黑")
for r in range(1,4):
for w in range(1,4):
c+=1
if r + w >= 2:
count+=1
print(repr(r)+"\t"+repr(w)+"\t"+repr(8-r-w))
print("共计:"+repr(count)+"种搭配")
=====================
['A', 'B', 'C', 'B', 'A', 'A', 'C', 'B', 'B', 'A', 'C', 'B', 'C', 'A', 'B', 'B', 'C', 'C', 'B', 'C']
['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C']
床 疑 举 低
前 似 头 头
明 地 望 思
月 上 明 故
光 霜 月 乡
吃饭的 男:9 女:2 童:19
红 白 黑
1 1 6
1 2 5
1 3 4
2 1 5
2 2 4
2 3 3
3 1 4
3 2 3
3 3 2
共计:9种搭配
==========
第三题和第四题还大有改进的余地,抛砖引玉吧
python3.2下运行,不一定兼容版本2.x