python编程例题和答案(python经典编程题和答案)
几个Python题目?
1.【选择】?下面哪个选项不是定义列表的正确方式?(?D)
D.myList4?=?2,3,4,5
答案解析:这是定义元组的方式,而不是列表
2.【选择】根据下面表达式,a的值是:(?C)
?C.lo?Wo
3.【填空】请写出如何切片myList[]的倒数第3~5位。
??myList[-3:-5]
4.【判断】列表内元素的下标是从0开始的。(?√)
5.【选择】下列Python表达式可以将列表反向并改变原列表值的是:(?D)
D.myList.reverse()
答案解析:切片会生成新的列表;reversed只是生成新的迭代器;只有?list.reverse()会对原表的值进行改变
-----------
1.【判断】Python语句“x?=?"a","b","c"”中,x是一个元组。(√?)
2.【选择】执行下列Python语句会报错的是:(?A)
A.myTuple[3]?=?30
答案解析:元组是immutable(不可变)的,所以不能改变元组的值
3.【填空】使用Python内置函数,计算元组myTuple的语句是:
sum(myTuple)?
4.【选择】下列关于Python的描述错误的是:(?C)
C.对元组内部元素进行排序使用的是sort()
答案解析:元组不可变,所以不能对元素进行排序
------------
1.【选择】下列关于Python中字符串说法错误的是:(?D)
D.Python中字符类型是char,字符串的类型是str
答案解析:python字符和字符串类型都是str
3.【填空】请写出用空格“?”合并字符串“Jane”、“Doe”的Python语句:
"Jane"?+?"?"?+?"Doe"
4.【选择】下列不是Python3中解决路径中特殊字符问题的选项是:(?C)
C.s?=?u"D:\test"
------------
1.【选择】下列不是序列的是:(C?)
C.集合
3.【选择】下面哪些操作是序列都具有的?(?D)
D.以上都是
-----
1.【判断】Python中符号{}仅用在集合这一数据类型中。(B.×?)
3.【填空】语句set("datascience")的结果是:
集合?{'d',?'a',?'t',?'s',?'c',?'i',?'e',?'n'}
4.【选择】下列关于集合的说法错误的是:(A?)
A.集合具有互异性,定义集合时不允许出现相同的元素
答案解析:出现了重复也没事,会自动去重的。
7.【选择】在Python中对数据进行去重处理,一般会借助下列哪种数据类型?(?C)
C.集合
---------
1.【填空】有两个列表?a?=?["name","age","sex"],b?=?["jonh","23","M"],请用一个语句将这两个列表转换成字典,其中列表a中的元素为“键”,列表b中的元素为“值”。
dict(zip(a,?b))
2.【填空】定义一个新字典如下,用print输出dict1的结果是:
{1:?3,?2:?'a'}
4.【判断】下面对字典d的定义是正确的。(B.×?)
答案解析:列表不能用做键。应该用元组('a','b')做键?。
用Python语言设计程序,5道题,谢谢!
第一题,用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("不合格")
关于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挑战100题(14~20)
题目:给你个小写英文字符串a和一个非负数b(0=b26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。
例如a="cagy", b=3,
则输出 :fdjb
提示: ord('a') = 97, ord('b') = 98, chr(97) = a
参考答案:
题目:给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。
回文串的定义: 记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba".
参考答案:
题目:给你两个时间st和et(00:00:00=st = et=23:59:59), 请你给出这两个时间间隔的秒数。
如:st="00:00:00", et="00:00:10", 则输出10.
参考答案:
方法一:切片
方法二:time模块
题目:给你一个时间t(t是一个字典,共有六个字符串key(year,month,day,hour,minute,second),值为每个值为数字组成的字符串,
如t={'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
请将其按照以下格式输出, 格式:XXXX-XX-XX XX:XX:XX。如上例应该输出: 2013-09-30 16:45:02。
参考答案:
方法一:利用datetime模块
方法二:一行
题目:给你一个整数组成的列表L,按照下列条件输出:
若L是升序排列的,则输出"UP";
若L是降序排列的,则输出"DOWN";
若L无序,则输出"WRONG"。
参考答案:
题目:一个环形的公路上有n个加油站,编号为0,1,2,...n-1,
每个加油站加油都有一个上限,保存在列表limit中,即limit[i]为第i个加油站加油的上限,
而从第i个加油站开车开到第(i+1)%n个加油站需要cost[i]升油,cost为一个列表。
现在有一辆开始时没有油的车,要从一个加油站出发绕这个公路跑一圈回到起点。
给你整数n,列表limit和列表cost,你来判断能否完成任务。
如果能够完成任务,输出起始的加油站编号,如果有多个,输出编号最小的。
如果不能完成任务,输出-1。
参考答案:
构造新的limit和cost并遍历,来源
题目:给你一个整数列表L,判断L中是否存在相同的数字,
若存在,输出YES,否则输出NO。
参考答案:
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])
运行结果如下:
望采纳~