Python 概念题和代码题速看 与python概念有关的选择题
python基础练习题
代码题
1.输入一个字符串,把字符串拆分成两个等分
■ 如果字符串长度是偶数,前一半和后一 半的长度是相同的
■ 如果字符串长度是奇数,则多出的一个 字符加到前一半,如:‘abcde’,前一半 是’abc’,后一半是’de’
str =input()
a =len(str)
if a%2 ==0:
a =a//2
str1 =str[:a]
str2 =str[a:]
print(str1,str2)
else:
a=a//2
str1 =str[:a+1]
str2 =str[a+1:]
print(str1,str2)
2.输入一个字符串,返回满足以下条件字符串
■ 找到字符串中的子串 ‘not’ 和 'bad’
■ 如果 ‘bad’ 出现在 ‘not’ 后面,就把 ‘not’ … ‘bad’ 之间包含的所有字符串替换成 ‘good’
str =input()
a =str.find('not')
b =str.find('bad')
print(str[a:a+3],str[b:b+3])
if b>a:
str=str[:a+3]+'good'+str[b:]
print(str)
3.判断回文
■ 输入一个数字,如果是回文数字,返回 True,否则 返回False
■ 提示:回文:62426是回文数字
str=input()
if str==str[::-1]:#字符串扩展切片
print("True")
else:
print("Flase")
4.输入一个字符串返回满足以下条件的字符串
■ 找出与字符串的第一个字母相同的字母, 把它们替换成 ‘*’,除了第一个字母本身以外
■ 例如: 输入’babble’, 返回 'ba**le’
str =input()
first =str[0]
str_new =str[0]+str[1:].replace(first,'*')
print(str_new)
5.输入字符串 a 和 b,返回添加以下条件的字符串
■ 交换两个字符串的最前面的两个字母
■ 使用空格把两个字符串分隔后合并成一个字符串
■ 字符串 a 和 b 的长度都大等于2
a =input()
b =input()
if len(a)&len(b)>=2:
c =a.replace(a[:2],b[:2])
d =b.replace(b[:2],a[:2])
together =c+' '+d
print(together)
else:
pass
6.任意输入两个整数,输出一个10项的斐波那契数列(Fibonacci序列是一个整数序列,其特征在于前两个之后的每个数字是前两个数字的总和)
a =int(input())
b =int(input())
fibonacci =[a,b]
for i in range(0,8):
c =(fibonacci[i]+fibonacci[i+1])
fibonacci.append(c)
print(fibonacci)
注意,这里list.append()的用法和字符串的替换不同,str.replace()字符串替换不会改变字符串本身的值,这个内置函数可以直接改变列表本身的值,再赋值反而会把列表变为None
7.(1)统计一个列表中每个元素出现的次数
list1 =[1,1,2,2,2,3,4,5,6]
for i in set(list1):
print(i,list1.count(i))
(2)列表去重
list1 =[1,1,2,2,2,3,4,5,6]
print(list(set(list1)))
利用了集合里不会出现重复元素的特性获取元素列表
8.如何根据两个列表创建一个对应的字典
name =['a','b','c','d','e']
number =[1,2,3,4,5]
zip1 =list(zip(name,number))
dict1 =dict(zip1)
print(dict1)
这里的zip为打包函数,list(zip(name,number))返回的值是[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
概念题
1.python的数据结构有几种,分别有什么特点;字典的键有什么要求?
序列(字符串,列表,元组):字符串,元组为不可变类型
映射(字典):一个键不能对应多个值,键必须是可哈希的(不可变)
集合:没有特别语法格式,只能用set()和frozenset()创建。没有重复元素,相当于一个物品清单
2.pyhton的修饰符
对类方法来说,只有静态方法是可以直接对类本身使用而不用创建一个实例
修饰符“@”后面必须是之前定义的某一个函数。再次调用这个被修饰的函数时,运行过程实际上是将被修饰的函数作为变量带入@xxx这个修饰函数里运行
如果修饰器(@xxx)是带参数的:@xxx(xx),调用时会先计算@xxx(xx),返回的对象作为新的装饰器来带入被修饰的函数
3.python中实例方法,类方法,静态方法的区别
实例方法只能被实例对象调用,而静态方法(由@staticmethod装饰的方法)和类方法(由@classmethod装饰的方法),可以被类或类的实例对象调用。
实例方法,第一个参数必须要默认传实例对象,一般习惯用self。
静态方法,参数没有要求。
类方法,第一个参数必须要默认传类,一般习惯用cls。
4.介绍http
HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol)
HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
最后多说一句,我是一名python开发工程师,这里有我自己整理了一套最新的系统学习教程,包括从基础python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。