几道python程序题,刚刚接触python,求高手帮帮忙!没有财富值了。能给的都给了。。

1、现有列表:
[’A’,’B’,’C’,’B’,’A’,’A’,’C’,’B’,’B’,’A’,’C’,’B’,’C’,’A’,’B’,’B’,’C’,’C’,’B’,’C’]
要求:按照输入列表顺序
如输入:[“A”,“B”,“C”]
输出:
[’A’, ’A’, ’A’, ’A’, ’A’, ’B’, ’B’, ’B’, ’B’, ’B’ ,’B’, ’B’, ’B’, ’C’, ’C’, ’C’, ’C’, ’C’, ’C’, ’C’]
2、把一段字符串用右起竖排的古文格式输出
如:“床前明月光 疑似地上霜 举头望明月 低头思故乡”
输出:床 疑 举 低
前 似 头 头
明 地 望 思
月 上 明 故
光 霜 月 乡
3、有30个人,其中有男人,女人和小孩,在一家饭馆吃饭,一共花费50元,其中每个男人3元,每个女人2元,每个小孩1元,问男人,女人,小孩各有几个?用程序实现
4、三色球问题,若一个口袋中放有12个球,其中有3红,3白和6黑,问从中任意取8个共有多少种不同颜色的搭配,用程序实现

1.
treNum=['A','B','C','B','A','A','C','B','B','A','C','B','C','A','B','B','C','C','B','C']
treBest=[]
while True:
b=raw_input('输入ABC3个字母随意顺序:')
for i in range(3):
for x in range(len(treNum)):
if(b[i]==treNum[x]):
treBest.append(treNum[x])
print treBest
treBest=[]

2.
poem = raw_input('请输入古寺:')
#poem = u'床前明月光 疑似地上霜 举头望明月 低头思故乡'
poem = poem.decode('gbk')
poemList = poem.split()
nLen = len(poemList)
nRow = 0
ch = ''
for i in poemList:
if nRow<len(i):
nRow=len(i)
for i in range(0,nRow):
for j in range(0,nLen):
try:
print'%2s' %poemList[nLen-j-1][i].encode('gbk'),
except:
print '%2s' %ch,
print

3.
a=0
b=0
c=0
count=0
#a='男'
#b='女'
#c='孩子'
for a in range(1,17):
for b in range(1,26):
for c in range (1,51):
if(a*3+b*2+c==50 and a+b+c==30):
count+=1
print '男:%d 女:%d 孩子:%d'%(a,b,c)
print'一共有:%d种可能!' %count

4.
a=0
b=0
c=0
count=0
#a='红'
#b='白'
#c='黑'
for a in range(0,4):
for b in range(0,4):
for c in range (0,7):
if(a+b+c==8):
count+=1
print '红:%d 白:%d 黑:%d'%(a,b,c)
print'一共有:%d种不同颜色搭配!' %count

各题输出:
================================
输入ABC3个字母随意顺序:ABC
['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C']
================================
请输入古寺:床前明月光 疑似地上霜 举头望明月 低头思故乡
低 举 疑 床
头 头 似 前
思 望 地 明
故 明 上 月
乡 月 霜 光
================================
男:1 女:18 孩子:11
男:2 女:16 孩子:12
男:3 女:14 孩子:13
男:4 女:12 孩子:14
男:5 女:10 孩子:15
男:6 女:8 孩子:16
男:7 女:6 孩子:17
男:8 女:4 孩子:18
男:9 女:2 孩子:19
一共有:9种可能!
================================
红:0 白:2 黑:6
红:0 白:3 黑:5
红:1 白:1 黑:6
红:1 白:2 黑:5
红:1 白:3 黑:4
红:2 白:0 黑:6
红:2 白:1 黑:5
红:2 白:2 黑:4
红:2 白:3 黑:3
红:3 白:0 黑:5
红:3 白:1 黑:4
红:3 白:2 黑:3
红:3 白:3 黑:2
一共有:13种不同颜色搭配!
温馨提示:答案为网友推荐,仅供参考
第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
第2个回答  2012-01-19
for m in range(min(30, 50//3)):
for f in range(min(30, 50//2)):
for c in range(min(30, 50)):
if m + f + c == 30:
print(m,f,c)
相似回答