Python题库(100例)第一天

100题Python的题目是好久之前找到的,由于比较忙没有进行完善。准备用十天的时间刷完这100道题目。每刷一道题进行总结,反思和总结知识点,然后再巩固薄弱的知识点。

先干两杯鸡汤:

Nothing impossible !!!

Repetition is the mother of learning !!!

1、一行代码实现1—100之和


"""1到100求和"""
n=100
i=1
sum1=0
while i <= 100:
    sum1 +=i
    i += 1
print("1..到100之和为:%d" %sum1)
print("1..到100之和为: {0}".format(sum1))


"""拓展1、 采用输入的方式求和,求任意项"""
def sum(n):
    sum = 0
    for i in range(1,n+1):
        sum += i
    return sum
num=int(input("请输入项数 \n"))
print("%d项数的和为%d" %(num, sum(num)))

"""拓展2、 求1到100的奇偶数和"""
k = 100
sumj = 0
sumo = 0
for i in range(1, k+1):
    if i % 2 == 0:
        sumj += i
    else:
        sumo += i
print("1...100之间的奇数之和为: {0} ,偶数之和为:{1}".format(sumj, sumo))
print("1...100之间的奇数之和为: %d ,偶数之和为: %d" %(sumj, sumo))

"""拓展3、 求1到100的奇数平方和,偶数平方和"""

j = 100
sumj = 0
sumo = 0
for i in range(1, k+1):
    if i % 2 == 0:
        sumj += i*i
    else:
        sumo += i*i
print("1...100之间的奇数之和为: {0} ,偶数之和为:{1}".format(sumj, sumo))
print("1...100之间的奇数之和为: %d ,偶数之和为: %d" %(sumj, sumo))

薄弱知识点1:print 函数。

2、如何在一个函数内部修改全局变量

k = 1
l = 100
def fun():
    global k,l
    k = 2
    l = 8
fun()
print("k在函数内修全局修改之和的值为 %d" %k)
print("l在函数内修全局修改之和的值为 %d" %l)

3、列出5个python标准库

requests  描述:网络请求库,提供多种网络请求方法并可定义复杂的发送信息
urllib    描述:Python自带的库,简单的读取特定URL并获得返回的信息
scapy     描述:分布式爬虫框架,可用于模拟用户发送、侦听和解析并伪装网络报文,常用于大型网络数据爬取
pymysql   描述:MySQL连接库,支持Python3
HappyBase 描述:HBase连接库

4、字典如何删除键和合并两个字典

dict1 = {'name': 'xiaoming', 'likes': 123, 'url': 'www.xiaoming.com'}
del dict1["name"]
print(dict1)
dict1["name"]="小明"
print(dict1)
print("dict1[name]: ", dict1["name"])
dict2 = {'name1': 'believer', 'likes1': 123456, 'url2': 'www.believer.com'}

"""合并方法 1 """
dict3 = dict1.copy()
dict3.update(dict2)
print(dict3)

print("分割线++++++++++++++++++++++++++++++++++++++++++++++++++")

"""合并方法 2 """
dicMerged = dict(dict1, **dict2)
print(dicMerged)

5、谈下python的GIL

  • GIL 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
  • 多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大。

6、python实现列表去重的方法

"""1. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集"""
orgList = [1, 0, 3, 7, 7, 5]
#list()方法是把字符串str或元组转成数组
formatList = list(set(orgList))
print (formatList)

"""2. 使用keys()方法"""
orgList = [1, 0, 3, 7, 7, 5]
#list()方法是把字符串str或元组转成数组
formatList = list({}.fromkeys(orgList).keys())
print(formatList)

"""3. 循环遍历法"""
orgList = [1, 0, 3, 7, 7, 5]
formatList = []
for id in orgList:
 if id not in formatList:
  formatList.append(id)
print(formatList)

"""4. 按照索引再次排序"""
orgList = [1, 0, 3, 7, 7, 5]
formatList = list(set(orgList))
formatList.sort(key=orgList.index)
print(formatList)

7、fun(args,**kwargs)中的args,**kwargs什么意思?

当不定数量的参数传递给一个函数时可以使用*args与**kwargs

  • *args是用来发送一个键值对可变数量的参数列表给一个函数,意思就是没有key值。
  • **kwargs将不定长度的键值对,作为参数传递给一个函数。意思就是有key值。

8、python2和python3的range(100)的区别

  • python2返回列表
  • python3返回迭代器,节约内存

9、一句话解释什么样的语言能够用装饰器?

  • 利用闭包的基本原理,对一个目标函数进行装饰,即在执行一个目标函数之前或之后执行一些特定的事情

10、python内建数据类型有哪些?

  • 整型–int
  • 布尔型–bool
  • 字符串–str
  • 列表–list
  • 元组–tuple
  • 字典–dic

你可能感兴趣的:(Python题库(100例)第一天)