面试题集锦(一)

#一、选择题(32分)#1、python不支持的数据类型有(A)#A、char#B、int#C、float#D、list#2.下列执行的结果是(E)#x='foo&#39

大家好,又见面了,我是你们的朋友全栈君。


# 一、选择题(32分)
# 1、python不支持的数据类型有(A)
# A、char
# B、int
# C、float
# D、list    


# 2.下列执行的结果是(E)
# x = ‘foo’   x为字符串类型
# y = 2    y是int类型
# print(x+y)    不同类型的数据不可以相加
# A. foo  B. foofoo  C. foo2   D. 2    E.An exception is thrown


# 3、关于字符串下列说法错误的是(B)
# A、字符应该视为长度为1的字符串
# B、字符串以\0标志字符串的结束
# C、既可以用单引号,也可以用双引号创建字符串
# D、在三引号字符串中可以包含换行回车等特殊字符


# 4、以下不能创建一个字典的语句是(C)
# A、dic1 = {}
# B、dic2 = {123:345}
# C、dic3 = {[1,2,3]:’uestc’}   字典的K是不可变数据类型C选项的[1,2,3]为列表而列表是可变数据类型
# D、dic3 = {(1,2,3):’uestc’}  


# 5. Kvps = {‘1’:1,’2’:2}
# theCopy = kvps
# kvps[‘1’] = 5
# sum = kvps[‘1’] + theCopy[‘1’]
# Print (sum)    结果为(D)
# A.1 B.2 C.7 D.10


# 6、以下何者是不合法的布尔表达式:(B)
# A. x in range(6)

#B.3=a

# C.e>5 and 4==f

#D(x-6)>5


# 7、下列表达式的值为True的是(B)
# A. 5+4j>2-3j       B.3>2==2
# C.e>5 and 4==f    D.(x-6)>5

A选项为复数类型  复数不能进行相加    


# 8、已知x=43,ch=‘A’,y = 1,则表达式(x>=y and ch<‘b’ and y)的值是(B)
# A、0
# B、1
# C、出错D、True


# 9、下列表达式中返回 为True的是:(C)
# A、3>2>2    错误
# B、’abc’>’xyz’    字符串可以比较只不过比较的是字符的ASCII码的大小    a的ASCII码比x的ASCII码小倆个字符串的第一个字符比较已经有结果所以B选项是错误的
# C、0x56 > 56      0x表示十六进制  十六进制的56确实大于56
# D、(3,2)>(‘a’,’b’)      数字和字符串的类型不同不能进行比较


# 10、下列Python语句正确的事(多选)(AD)
# A、min = x if x < y else y
# B、max = x > y ? x : y
# C、if(x>y) print(x)
# D、while True:pass

 

# 11.若k为整形,下述while循环执的次数为:(A或者B)
# k=1000
# while k>1:
# print k       python2中 print不加括号 
# k=k/2
# A.9      B.10
# C.11   D.100  

在pytho2中结果是9  在python3中结果是10  上例是以python2为例严格说结果为A


# 12、以下叙述正确的是:(B)
# A、continue语句的作用是结束整个循环的执行
# B、只能在循环体内使用break语句
# C、在循环体内使用break语句或continue语句的作用相同
# D、从多层循环嵌套中退出时,只能使用goto语句


# 13、关于python中的复数,下列说法错误的是
# A、表示复数的语法是real+image j
# B、实部和虚部都是浮点数
# C、虚部必须后缀j且j不区分大小写
# D、方法conjugate返回复数的共轭复数


# 14、下面的语句哪个会无限循环下去:(B)
# A、for a in range(10):
# time.sleep(10)
# B、while 1<10:
# time.sleep(10)
# C、while True:
# break
# D、a = [3,-1,’,’]
# for i in a[:]:
# if not a:
# break

15、下面的代码,哪些会输出1,2,3三个数字(多选,选错不得分):(BD)
# A 、for i in range(3):
# print(i)
# B、aList = [0,1,2]
# for i in aList:
# print(i+1)
# C、i = 1
# while i < 3:
# print(i)
# i+=1
# D、for i in range(3):
# print(i+1)


# 16、Python如何定义一个函数:(C)
# A、class <name>(<type> arg1,<type> arg2,…<type> argN)
# B、function <name>(arg1,arg2,…argN)
# C、def <name>(arg1,arg2,…argN)
# D、def <name>(<type> arg1,<type> arg2,…<type> argN)


# 二、填空题(10分)
# 1、以下函数需要在其中饮用一个全局变量k,请填写语句:
# def fun()
# global k

(global  k)
# k = k+1


# 2、L=range(100)
# 1) 取第一到第三个元素  [:3]
# 2) 取倒数第二个元素 [-2]    或者[98]
# 3) 取后十个元素_list   [-10:]
# 4) 把L复制给L1用_    L1 = L.copy()


# 3、判断dict有没有某个key用的方法是     in


# 4、获取list的元素个数,和向末尾追加元素的方法分别是       len(list)     append()


# 5.以下的代码的输出将是什么:
# [123]
# [10, ‘a’]_____
# def extendList(val,list=[]):list.append(val)
# return list
# list1 = extendList(10)
# list2 = extendList(123,[])
# list3 = extendList(‘a’)
# print “list1 = %s”%list1
# print “list2 = %s”%list2
# print “list3 = %s”%list3


# 6.下程序的输出结果是:(yes)
# y=False
# z=False
# if x or y and x:
# print “yes”
# else:
# print “no”
# 三、简答题(20分)
# 1、如何判断一个变量是不是字符串     type(s)
# 2、is 和 == 的区别        is比较内存     ==比较值是否相等
# 3、Python⾥⾯如何实现tuple和list的转换。       tuple(list)       list(tuple)
# 4、list和tuple有什么不同          tuple不可变
# 5、如何得到列表list的交集与差集。
# 6、 Python中定义函数时如何书写可变参数和默认参数?        可变参数在默认参数之前


# 7、 *args和**kwargs在什么情况下会使到?请给出使**kwargs的事例

不能确定具体的参数个数    示例:装饰器的使用

def test(func):
def inner(*args,**kwargs):
#函数执行之前
ret = func(*args,**kwargs)
#函数执行之后
return ret
return inner


# 8、请描述unicode,utf-8,gbk等编码之间的关系?

 

# 9、 如何使用python删除一个文件

import  os

os.remove()


# 10、 def func(a,b,*args,c=0,**kwargs):
# pass
# *args,**kwargs的作用是什么?

*args:用来接收多余的位置参数  返回一个元组

**kwargs    用来接收多余的关键字参数  返回一个字典


# 四、写代码(38分)
# 1、 d={‘a’:1,’b’:2,’c’:3}请打印出key、value对(3分)

for k in d.keys():                      for v in d.values():

  print(k)                                     print(v)
# 2、请写出Python代码实现删除list⾥⾯的重复元素。(6分)

li=[1,2,3,4,5,5,6,7,7]
for i in li:
if li.count(i) >= 2:
li.remove(i)
print(li)


# 3、使Python/C 上机解决以下题13分)
# 1)
# 斐波那契数列1,2,3,5,8,13,21…..根据这样的规律,编程求出400万以内最的斐波那契数,并求出他
# 是第个斐波那契数。

for

# 要求写段代码,实现两个字典的相加,不同的key对应的值保留,相同的key对应的值相加后保
# 留,如果是字符串就拼接,如上例得到结果为:
# dictc = {“a”:1,”b”:5,”c”:3,”d”:9,”e”:7,”m”:9,”f”:”hello”,”k”:”world”}

# dicta = {“a”:1,”b”:2,”c”:3,”d”:4,”f”:”hello”}
# dictb = {“b”:3,”d”:5,”e”:7,”m”:9,”k”:”world”}
# dicta.update(dictb)
# dicta[‘b’] = 5
# print(dicta)

# 5、什么是装饰器?写个装饰器,可以打印输出法执时长的信息(8分)

import time
def wraper(f):
def inner(*args,**kwargs):
start = time.time()
res = f(*args,**kwargs)
end = time.time()
print(end - start)
return res
return inner

@wraper
def test():
time.sleep(2)
print('我是被修饰的函数')

test()


# 6、 请写出log的实现(主要功能是打印函数名)(8分)
# @log
# def now():
# print ‘2017-08-31’
# >>>now()
# 输出:
# call now():
# 2017-08-31

def log(f):
def inner(*args,**kwargs):
print('call','now()')
res = f(*args,**kwargs)
return res
return inner

@log
def now():
print ('2017-08-31')
now()


# 附加题(20分)
# 有个数据结构如下所,请编写个函数从该结构数据中返回由指定的字段和对应的值组成的字
# 典。如果指定字段不存在,则跳过该字段。(10分)
# data:{“time”:”2016-08-05T13:13:05″,
# “some_id”:”ID1234″,
# “grp1”:{ “fld1”:1,
# “fld2”:2},
# “xxx2”:{ “fld3”:0,
# “fld5”:0.4},
# “fld6”:11,
# “fld7”:7,
# “fld46”:8}
# fields:由”|”连接的以”fld”开头的字符串,如:fld2|fld3|fld7|fld19
# # def select(data,fields):
# # # TODO:implementation
# #     return result
# def select(data,fields):
#     fields_lst = fields.split(‘|’)
#     for key in data:
#         if type(data[key]) == dict:
#             pass
#         return result

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/124499.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 数据结构算法常见面试考题及答案_数据结构和算法面试题

    数据结构算法常见面试考题及答案_数据结构和算法面试题(1)红黑树的了解(平衡树,二叉搜索树),使用场景把数据结构上几种树集中的讨论一下:1.AVLtree定义:最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(logn)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。节点的平衡因子是它的左子树的高度减去它的右子树的高度(有时相反)。…

  • c++ sstream

    c++ sstreamsstream定义了三个类:istringstream、ostringstream和stringstream分别用来进行流的输入、输出和输入输出操作由于sstream使用string对象代替字符数组,避免缓冲区溢出的危险;其次,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符的问题。相比c库的数据类型转换,sstream更加安全、自动和直接。1.数据类型转换#inclu…

  • 一份简短又全面的数学建模技能图谱:常用模型&算法总结

    本文总结了常用的数学模型方法和它们的主要用途,主要包括数学和统计上的建模方法,关于在数学建模中也挺常用的机器学习算法暂时不作补充,以后有时间就补。至于究竟哪个模型更好,需要用数据来验证,还有求解方法也不唯一,比如指派问题,你可以用线性规划OR动态规划OR整数规划OR图与网络方法来解。总的来说,常用主成分分析来降维,综合评价的方法有因子分析法、层次分析法、….,用蒙特卡罗方法来随机模拟求解;…

  • awvs原理_csgo奇葩武器代码

    awvs原理_csgo奇葩武器代码awvs10.5下载http://www.32r.com/soft/12986.html

  • CentOS系统下Redis安装和自启动配置的步骤

    CentOS系统下Redis安装和自启动配置的步骤

    2021年10月11日
  • java integer.parseint_java method.invoke

    java integer.parseint_java method.invoke我正在编写一个使用反射来动态查找和调用方法的库.只给出一个对象,一个方法名和一个参数列表,我需要调用给定的方法,就好像方法调用是在代码中显式编写的一样.我一直在使用以下方法,在大多数情况下都可以使用:staticvoidcallMethod(Objectreceiver,StringmethodName,Object[]params){Class>[]paramTypes…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号