大一python编程题库和答案(大一python代码)
Python编程题求助
该答案为组合数学中著名的卡特兰数,其通式为C(2n,n)-C(2n,n-1)
这里采用递推关系求解,即动态规划的方法
设n对父子有d[n]种出场策略,注意初值d[0]=1
因为每个孩子前面必有一个父亲与之对应
对于i对父子,遍历第j个孩子,该孩子前面有j-1个孩子,对应d[j-1]种出场策略
后面有i-j个孩子,对应d[i-j]种出场策略,则d[i]+=d[j-1]*d[i-j],最终d[n]即为所求
python代码如下:
n = int(input())
d = [0] * (n+1)
d[0] = 1
for i in range(n+1):
? for j in range(i+1):
? ? ? d[i] += d[j-1] * d[i-j]
print(d[n])
运行结果如下:
望采纳~
关于python程序设计题的题库?
1、average_sum函数的功能为求一批数中大于平均值
sum=0
k=0
for i in range(n):
sum=sum+a[i]
average=sum/n
for i in range:
if(a[i]average):
k=k+a[i]
return k
2、编写函数fun求一个不多于五位数的正整数的位数
if(m9999):
place=5
elif(m999):
place=4
elif(m99):
place=3
elif(m9):
place=2
else:
place=1
return place
3、请编fun函数,求4*4整形数组的主对角线元素的和
sum=0.0
for i in range(4):
sum+=a[i][i]
return sum
4、已知:一元钱一瓶汽水,喝完后两个空瓶换一瓶汽水。问:请输入钱数(大于1的正整数),则根据钱数最多可以喝到几瓶汽水。
s=0
k=0
while m0:
m=m-1
s=s+1
k=k+1
while k=2:
k=k-2
s=s+1
k=k+1
return s
5、编写函数fun(x,y),函数的功能是若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。要求必须使用for结构。
主函数的功能是分别计算如下的值:
(1+3+5+……+777)+(2+4+6+……+888)=???
(1+3+5+……+1111)+(2+4+6+……+2222)=???
(1+3+5+……+1999)+(2+4+6+……+1998)=???
s=0
for i in range(x,y+1,2):
s=s+i
return s
6、编写函数main 求3!+6!+9!+12!+15!+18!+21!
s=0
for i in range(3,22,3):
r=1
for j in range(1,i+1):
r*=j
s+=r
print(s)
python 编程 求答案!2、3两题
#!/usr/bin/env?python
#coding=utf-8
import?re
from?datetime?import?datetime?as?dt,?timedelta
import?platform
if?platform.python_version()[:1]?==?'2':?#判断python版本是2还是3
????import?sys
????reload(sys)
????sys.setdefaultencoding('utf8')
class?Idcard(object):
????'''?
?????m?=?Idcard('225122198611134730')
?????print(m.sex)
????男
?????m.birth
????'1986-11-13'
?????m.age
????30
????'''
????def?__init__(self,idcard):
????????self.idcard?=?idcard????????
????????if?len(idcard)?==?15:
????????????sex,?birth?=?idcard[-1:],?'19'?+?idcard[6:12]
????????elif?len(idcard)?==?18:
????????????sex,?birth?=?idcard[-2:-1],?idcard[6:14]???
????????else:
????????????raise?Exception('len(idcard)?is?{}?(15/18)'.format(len(idcard)))
????????self._sex?=?int(sex)?%?2
????????self._birth?=?birth
????
????@property
????def?sex(self):
????????return?u'男'?if?self._sex?%?2?else?u'女'
????@property
????def?age(self):??
????????now,?bir?=?dt.now(),?dt.strptime(self._birth,?'%Y%m%d')
????????beforebirth?=?(now?-?dt(now.year,?bir.month,?bir.day)).days??0
????????return?dt.now().year?-?int(self._birth[:4])?-?beforebirth
????@property
????def?birth(self):
????????return?dt.strptime(self._birth,?'%Y%m%d').strftime('%Y-%m-%d')
def?alignment(str1,?space,?align?=?'left'):
????length?=?len(str1.encode('gb2312'))
????space?=?space?-?length?if?space?=length?else?0
????if?align?==?'left':
????????str1?=?str1?+?'?'?*?space
????elif?align?==?'right':
????????str1?=?'?'*?space?+str1
????elif?align?==?'center':
????????str1?=?'?'?*?(space?//2)?+str1?+?'?'*?(space?-?space?//?2)
????return?str1
????
def?main():
????fname?=?'customer.txt'
????'''
????with?open(fname,?'w')?as?f:
????????f.write("""
????????郑文杰?225122198611134730
????????文萍?225122198912094740
????????郑妈妈??225122590303476
????????郑爸爸?225122560506471
????????""")
????'''????
????newf?=?'ourcustomers.txt'
????with?open(fname)?as?f:
????????s?=?f.readlines()
????L,?newL?=?[re.split(r'\s+',?i.strip())?for?i?in?s],?[]
????for?i?in?L:
????????if?len(i)?==?2:
????????????g?=?Idcard(i[1])
????????????newL.append('{}{}{}'.format(
????????????????alignment(i[0],?10),?alignment(g.sex,?8),?g.age))
????with?open(newf,?'w')?as?f:
????????f.write('\n'.join(newL))
????print('\n'.join(newL[:100]))
????print('Customer?data?has?been?write?into?{}'.format(newf))
if?__name__?==?'__main__':
????import?doctest
????doctest.testmod()
????main()