您的位置:

python编程题19(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编程题?

按照题目要求编写的哥德巴赫猜想的Python程序如下

def IsPrime(v):

if v=2:

for i in range(2,v//2+1):

if v%i==0:

  return False

else:

return True

else:

return False

n=int(input("输入一个正偶数:"))

if n2 and n%2==0:

for i in range(1,n//2+1):

if IsPrime(i)==True and IsPrime(n-i)==True:

print("%d=%d+%d" %(n,i,n-i))

else:

print("输入数据出错!")

源代码(注意源代码的缩进)

求解一道Python编程题

斐波那契数列自第三个数开始,每个数均为之前两个数的和。

至少有两种方法来实现它。

最常见的利用迭代的方法,其核心思路是

fib(n) = fib(n-1) + fib(n-2)

而在n2时直接,没有n-2,因此直接返回1:

def fib(num): return 1 if n2 else fib(num-1) + fib(num-2)

这是一种很简单的实现。在阶梯数不大时,它很好用。当阶梯数很大时,因为二次手迭代,会比较慢。因此,可以在计算中保存中间值(1至n-1的阶梯数)来减少计算量:

这种方式在计算阶梯数10000时就可以保持不错的性能。如果需要多次计算该数列,则可以利用对象来保持这个中间值列表,下列代码中,Fibonaci实例只计算未曾计算的阶梯数,在重复调用时它更具优势:

class Fibonaci(object):

....history=[1, 1]

....def cacl(self, num):

........while len(self.history) = num:

............self.history.append(self.history[-1] + self.history[-2])

........return self.history[num]

if __name__ == '__main__':

....fib = Fibonaci()

....print(fib.calc(100))

....print(fib.calc(32))

....print(fib.calc(10000))

Python编程题怎么写?

Python编程题写法:第一个问题使用排序算法,有很多种,可以使用简单一点的冒泡排序。第二个问题为了确保是输入了5个整数,可以使用while循环+try。

假设data.txt中所有的号码都在一行,没有换行,写入到data_asc.txt中时,假设每行一个,原文件中是否有换行;写入到data_asc.txt文件中时,是一行一个;还是所有的都在一行,然后用英文逗号隔开。

Python

是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。

python编程题?

mons = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

def get_days(mon, day):

if mon == 1:

return mons[0], day

else:

count = sum(mons[:mon-1])

count = count + day

return mons[mon - 1], count

mon = int(input("请输入月份:"))

day = int(input("请输入号数:"))

result = get_days(mon, day)

print("{}月有{}天。".format(mon, result[0]))

print("{}月{}号是该年的第{}天".format(mon, day, result[1]))

Python编程题

12345678910111213141516171819import re def check(a): p = r'ATG(.+?)(?:TAG|TAA|TGA)' result = [] include = ['ATG','TAG','TAA','TGA'] for r in re.findall(p,a): if len(r)%3 != 0: print('error') return for inc in include: if inc in r: print('error') return result.append(r) return resultr = check('TTATGTTTTAAGGATGGGGCGTTAGTT') print(r)本来是想一个正则就能解决,但是正则又要不包含又要固定3的倍数,于是写了函数,仅供参考