python题目(1)

目录

 

1、python中is和==的区别

2、简述read、readline、readlines的区别

3、举例说明创建字典的至少两种方法

4、*args,**kwargs的作用是什么?如何使用? 

5、python中match()和search()的区别?

6、一个函数接收文件夹的名称作为参数,返回该文件中所有文件的全路径

7、阅读下面的代码,写出A0,A1至An的最终值

8、请写一段代码实现Python中list去重。

9、创建一个装饰器将下面函数输入的字符串首字母大写。

10、描述yield作用。

11、装饰器。 

12.输入日期, 判断这一天是这一年的第几天?

13.打乱一个排好序的list对象alist?

14.现有字典 d= {'a':24,'g':52,'i':12,'k':33}请按value值进行排序?

15.字典推导式

16.下面代码的输出结果将是什么?

17.写一个列表生成式,产生一个公差为11的等差数列

18.给定两个列表,怎么找出他们相同的元素和不同的元素?如何合并两个列表,且列表中没有重复元素?

19.请写出一段python代码实现删除list里面的重复元素?

20.python新式类和经典类的区别?

21.python中内置的数据结构有几种?

22.python如何实现单例模式? 


1、python中is和==的区别

Python中对象包含的三个基本要素,分别是:id(身份标识) 、type(数据类型)和value(值)。

‘==’比较的是value值

‘is’比较的是id

>>> x=[1,2,3]
>>> y=[1,2,3]
>>> id(x)
50365000
>>> id(y)
50215304
>>> x is y
False
>>> x==y
True

 

2、简述read、readline、readlines的区别

read读取整个文件

readline该方法每次读出一行内容

readline() 方法用于从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。

readlines方法读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读取大文件会比较占内存

 

3、举例说明创建字典的至少两种方法

# 1

dict1 = {key1:v1,key2:v2}

# 2

dict2 = {}

dict2[key1] = v1

dict2[key2] = v2

# 3

dict3 = dict(key1=v1,key2=v2)

 

4、*args,**kwargs的作用是什么?如何使用? 

*args和**kwargs通常使用在函数定义里,*args允许函数传入不定量个数的非关键字参数,**kwargs允许函数传入不定量个数的关键字参数。

 

5、python中match()和search()的区别?

match():只检测RE是不是在string的开始位置匹配。

search():会扫描整个string查找匹配

match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。

 

6、一个函数接收文件夹的名称作为参数,返回该文件中所有文件的全路径

os.walk() 方法可以创建一个生成器,用以生成所要查找的目录及其子目录下的所有文件。

os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。

 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】

import os
def walk_folder(spath):
    for root, dirs, files in os.walk(spath, topdown=False):
        for name in files:
            print(os.path.join(root, name))
        for name in dirs:
            print(os.path.join(root, name))

执行结果示例

D:\final_lib1\cpf_lib\test.py
D:\final_lib1\cpf_lib\test.pyc
D:\final_lib1\cpf_lib\__init__.py
D:\final_lib1\cpf_lib\__init__.pyc
D:\final_lib1\__init__.py
D:\final_lib1\cpf_lib

7、阅读下面的代码,写出A0,A1至An的最终值

1.A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))

{'a':1,'b':2,'c':3,'d':4,'e':5}

 2.A1 = range(10)

 [0,1,2,3,4,5,6,7,8,9]

3.A2 = [i for i in A1 if i in A0]

[]

4.A3 = [A0[s] for s in A0]

 [1,2,3,4,5]

5.A4 = [i for i in A1 if i in A3]

 [1,2,3,4,5]

8、请写一段代码实现Python中list去重。

#方法1
list1 = [1,1,2,3,3,4]
list1 = list(set(list1))

#方法2
list1 = [1,1,2,3,3,4]
list2=[]
for i in list1:
    if i not in list2:
        list2.append(i)

#方法3
list({}.fromkeys(list1).keys())

#方法4
按照索引再次排序

orgList=[1,0,3,7,7,5]

formatList=list(set(orgList))

formatList.sort(key=orgList.index)

print(formatList)

结果:
[1,0,3,7,5]

顺便说明下: list.sort中key参数的用法

# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
 
# 列表
random = [(2, 2), (3,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是 Python 题目 1 的要求: ## 题目描述 编写一个小程序,猜测用户的年龄。 程序运行后,会随机生成一个 1 到 100 之间的整数,表示用户的年龄。然后程序会向用户询问猜测的年龄,用户输入猜测的年龄后,程序会给出一定的提示,让用户继续猜测,直到猜对为止。 ## 程序要求 1. 程序中使用 for 循环和 if else 语句实现猜年龄的逻辑。 2. 程序需要使用 where 语句来判断年龄是否正确,如果年龄正确,程序将输出“恭喜你,猜对了!”并退出循环。 3. 如果用户猜错了,程序需要根据猜测的年龄给出相应的提示,如“你猜的有点小了,再试试大一点的数字吧”或“你猜的有点大了,再试试小一点的数字吧”。 ## 代码实现 下面是 Python 代码实现: ```python import random age = random.randint(1, 100) for i in range(5): guess = int(input("猜猜我的年龄是多少:")) if guess == age: print("恭喜你,猜对了!") break elif guess < age: print("你猜的有点小了,再试试大一点的数字吧") else: print("你猜的有点大了,再试试小一点的数字吧") else: print("你已经猜了 5 次了,正确答案是 %d" % age) ``` 上述代码中,我们使用了 Python 内置的 random 模块来生成随机数,使用 for 循环进行猜年龄的操作,使用 if else 语句来判断猜测的年龄是否正确,使用 where 语句来输出相应的提示信息。当用户猜对年龄时,程序会输出“恭喜你,猜对了!”并退出循环,否则程序会根据猜测的年龄给出相应的提示信息,让用户继续猜测,直到猜对为止。如果用户猜测了 5 次但仍未猜对,程序将输出“你已经猜了 5 次了,正确答案是 xx”,并退出程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值