用Python语言设计程序,5道题,谢谢!

Python018

用Python语言设计程序,5道题,谢谢!,第1张

第一题,用input()接受用户输入,int()把输入转换成整型,if... else语句判断条件。能被2整除的是偶数,否则奇数

代码:

n = int(input())

if n % 2 == 0:

..#前面的点表示缩进。

..print("是偶数")

else:

..print("是奇数")

第二题input()、int()和嵌套if语句

代码:

n = int(input())

if n % 100 != 0:

..if n % 4 == 0:

....print("是闰年")

..else:

....print("是平年")

elif n % 400 == 0:

..print("是闰年")

else:

..print("是平年")

第三题还是一样滴,用input(),int()和if...else语句

代码:

a = int(input())

b = int(input())

if a >b:

..print(a – b)

else:

..print(b – a)

第四题也是一样滴

代码:

m = int(input())

n = int(input())

if m <n:

..print(m, n)

else:

..print(n, m)

第五题 (*^▽^*)

代码:

a = int(input())

if a >=60:

..print("合格")

else:

..print("不合格")

该答案为组合数学中著名的卡特兰数,其通式为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])

运行结果如下:

望采纳~

答案:C B B C A D B A D B

1.获得用户输入的一个整数N,计算并输出N的32次方。

2.获得用户输入的一段文字,将这段文字进行垂直输出。

3.获得用户输入的一个合法算式,例如1.2+3.4,输出运算结果。

4.获得用户输入的一个小数,提取并输出其整数部分。

5.获得用户输入的一个整数N,计算并输出1到N相加的和。

答案:C A A A B A C D A C

1.获得用户输入的一个整数,输出该整数百位及以上的数字。

2.获得用户输入的一个字符串,将字符串按照空格分割,然后逐行打印出来。

3.程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如,输入3,返回“星期三”。

4.设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。

5.输入一个十进制整数,分别输出其二进制、八进制、十六进制字符串。

答案:B A D C D D C A C D

1.输入一个年份,输出是否是闰年。#闰年条件:能被4整除但不能被100整除,或者能被400整除的年份,都是闰年。

2.最大公约数计算。获得两个整数,求出这两个整数的最大公约数和最小公倍数。最大公约数的计算一般使用辗转相除法,最小公倍数则使用两个数的乘积除以最大公约数。

3.统计不同字符个数。用户从键盘键入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数。

4.改编题目1中的程序,当用户输入出错时给出“输入内容必须是整数!”的提示,并让用户重新输入。

5.羊车门问题。有三扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门。在开启它之前,主持人会开启另外一扇门,露出门后的山羊。此时,允许参赛者更换自己的选择。请问,参赛者更换选择后能否增加猜中汽车的机会?——这是一个经典问题。请使用random库对这个随机事件进行预测,分别输出参赛者改变选择和坚持选择获胜的概率。

答案:B B B B A D D A D D

Tips:

2.字典类型的key只能是不可变数据类型;

3.Python中以下情况判断为False:

(1)None–>None值

(2)False–>False值

(3)0 --->数值零不管它是int,float还是complex类型

(4)‘’,(),[] --->任何一个空的序列

(5){} --->空的集合。

9.列表类型的pop(i)方法,如果不指定参数 i,则默认取出并删除列表中最后一个元素

1.英文字符频率统计。编写一个程序,对给定字符串中出现的a~z字母频率进行分析,忽略大小写,采用降序方式输出。

2.中文字符频率统计。编写一个程序,对给定字符串中出现的全部字符(含中文字符)频率进行分析,采用降序方式输出。

3.随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。

4.重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现了不止一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和输出测试结果的程序。

5.重复元素判定续。利用集合的无重复性改编上一个程序,获得一个更快更简洁的版本。