88是python语言的整数类型_Python基础数据类型题

Python基础数据类型 题

考试时间:三个小时 满分100分(80分以上包含80分及格)

1,简述变量命名规范(3分)

copycode.gif

1.必须是字母,数字,下划线的任意组合。

2.不能是数字开头

3.不能是python中的关键字

4.变量不能是中文

5.变量不能过长

6, 变量要具有可描述性

copycode.gif

2,字节和位的关系。(2分)

8位等于1个字节

3,’A太白’使用utf-8编码时,占的位数和字节数,是多少?使用gbk编码时,占的位数

和字节数,是多少。(2分)

’A太白’使用utf-8编码时,占56位和7个字节,使用gbk编码时,占40位和5个字节

4,默写字符串的十二个功能,并描述其作用。(12分)

copycode.gif

1.strip() 消除字符串两端的制表符,空格,换行符

2 split() 默认以空格分割

3 capitalize() 首字母大写,其他字母小写

4.center 居中,默认不填充,填充可以是数字,字母,下划线,特殊字符,中文等

5 upper(),lower() 全部大写,或者全部小写。验证码用的多

6 swapcase 大小写翻转

7 title 非字母隔开的每个单词的首字母大写

8 index 通过元素找索引

find 通过元素找索引,找不到返回-1

9 join 某些情况下,list-->str

10 replace 替换

11 len() 字符串的长度

12 count() 字符出中元素出现的个数

13 startswith 判断以什么内容开头,返回bool值,可以切片,用逗号隔开。

endswith 判断以什么内容结尾

copycode.gif

5,Python中的常量是什么?如何表示?通常放在文件的哪里(2分)

用全部大写的字符串表示,通常放在文件的开头

6,Python中的单行注释和多行注释分别是什么?(2分)

单行注释 # 和多行注释 ''' '''

7,Python中input输入的是什么数据类型?(1分)

字符串

8,书写Python2与python3中的三个不同。(3分)

copycode.gif

python2X: 源码不规范,源码混乱,重复代码多。

python3X: 重整源码,源码规范,优美,清晰,简单

python2x: 默认的编码方式ascii,

显示中文:首行: # -*- edcoding:utf-8 -*-

python3x: 默认的编码方式 utf - 8

python2x: print '内容' 或者 print('内容')

python3x: print('内容')

copycode.gif

9,写代码,有如下列表,利用切片实现每一个功能(每题一分,共计4分)

l1 = ['a', 'b', 'c', 'WuSir', 'TaiBai', '老男孩']

1)通过对li列表的切片形成新的列表l2,l2 = [‘a’,’c’,'TaiBai']

l2=l1[::2]

2)通过对li列表的切片形成新的列表l3,l3 = [‘a’,’WuSir’]

l3=l1[::3]

print(l3,type(l3))

3)通过对li列表的切片形成新的列表l4,l4 = [‘老男孩’]?

del l1[:-1]

print(l1)

4)通过对li列表的切片形成新的列表l5,l5 = ['TaiBai', 'c','a']

l5=l1[-2::-2]

print(l5)

10,组合嵌套题。

a,写代码,有如下列表,按照要求实现每一个功能(每题3分,写出一种方法得1分,写出两种方法的3分。此题共9分)

(每个都是一行代码实现)

copycode.gif

lis = [['k', 'qwe', 20, {'k1': ['tt', 3, '1']}, 89, 'ab']]

1)将列表lis中的’tt’变成大写(用两种方式)。

lis[0][3]['k1'][0]='TT'

lis[0][3]['k1'][0]=lis[0][3]['k1'][0].upper()

print(lis)

2)将列表中的数字3变成字符串’100’(用两种方式)。

lis[0][3]['k1'][1]='100'

lis[0][3]['k1'][1]=str(lis[0][3]['k1'][1]+97)

print(lis)

3)将列表中的字符串’1’变成数字101(用两种方式)。

lis[0][3]['k1'][2]=101

lis[0][3]['k1'][2]=int(lis[0][3]['k1'][2]+'01')

lis[0][3]['k1'][2]=int(lis[0][3]['k1'][2])+100

print(lis)

b,写代码,有如下字典,按照要求实现每一个功能(5分)

dic = {'k1': 'v1','k2': ['alex','sb'],(1,2,3,): {'k3': ['2', 100, 'TaiBai']}}

1)将’k2’对应的值的最后面的’sb’删除。

dic['k2'].remove('sb')#同一个字典内部通过键去找字典的内容,列表是索引

print(dic)

2)将’k2’对应的值的第二个位置插入一个元素 ’老男孩’。

dic['k2'].insert(1,'老男孩')

print(dic)

3)将(1,2,3,)对应的值添加一个键值对(1,2,3),’ok’。

dic[(1,2,3,)]['(1,2,3)']='ok'

print(dic)

4)将’k3’对应的列表的最后追加’a’,’b’,’c’,’d’四个元素。

dic[(1,2,3,)]['k3'].extend('abcd')

print(dic)

5)将'TaiBai'改成男神。

dic[(1,2,3,)]['k3'][2]='男神'

print(dic)

copycode.gif

11,转化题(4分)。

Int与str之间如何转化,转换的结果是什么?有没有条件?

int可以转换为str

str可以转换为int 条件是str内容全部为整数

Int 与 bool之间如何转化,转换的结果是什么?有没有条件?

int-->bool 0是False,其他是True

bool-->int True是1 False是0

str 与 bool之间如何转化,转换的结果是什么?有没有条件?

str -->bool 空字符串是False,其他是True

bool --> str True是1 False是0

str 与 list 能否转化?如何转化?

能,用split()

12,实现下列结果(3分)。

copycode.gif

1)有列表li = ['老男孩', 'alex', 'WuSir', 'TaiBai']

通过一行代码构造一个字符串s=’老男孩**alex**WuSir**TaiBai’

li = ['老男孩', 'alex', 'WuSir', 'TaiBai']

'**'.join(li)

print('**'.join(li))

2)有字符串s ='alex WuSir TaiBai',通过一行代码构造一个列表li = [ 'alex', 'WuSir', 'TaiBai']

s ='alex WuSir TaiBai'

li=s.split()

print(li)

3)有字符串s = ‘alex’通过操作该字符串构造一个字符串s1 = ‘a_l_e_x’

s = 'alex'

s1 ='_'.join(s)

print(s1)

copycode.gif

13,分别使用while循环,和for循环打印1-2+3-4+5.......+99的结果。(8分)

copycode.gif

count=0

sum=0

while count<99:

count += 1

if count % 2 ==1:

sum+=count

else:

sum-=count

print(sum)

sum=0

for i in range(100):

if i % 2 == 1:

sum+=i

else:

sum-=i

print(sum)

copycode.gif

14,使用range打印100,98,96,94....6,4,2,0(2分)

for i in range(100,-1,-2):

print(i)

15,有如下列表:li = ['老男孩', 'WuSir', 'alex', 'TaiBai'],写代码,通过代码构造成一个新列表l2,

l2= ['老男孩SB', 'WuSirNB', 'alexSB', 'TaiBaiNB'](4分)

copycode.gif

li = ['老男孩', 'WuSir', 'alex', 'TaiBai']

l2=[]

for i in li:

if li.index(i) % 2 == 1:

i=i+'NB'

else:

i=i+'SB'

l2.append(i)

print(l2)

anser

li = ['老男孩', 'WuSir', 'alex', 'TaiBai']

for index in range(len(li)):

# print(index)

if index % 2 == 0:

li[index] = li[index] +'SB'

else:

li[index] = li[index] + 'NB'

print(li)

copycode.gif

16,编写程序,统计如下各个字符串个数。(6分)

如有此字符串str1 = "hello world god is allways busy",

最后得到的结果为:‘h:1,e:1,l:5,o:3,w:2,r:1,d:2,g:1,i:1,s:3,a:2,y:2,b:1,u:1,’

copycode.gif

anser

str1 = "hello world god is allways busy"

# l1=str1.split()

# print(l1)

# s=''.join(l1)

# print(s)

s1 = ''.join(str1.split()) # ["hello","world"......]

print(s1) # helloworldgodisallwaysbusy

result = ""

for i in s1:

if i not in result:

result = result + i + ':' + str(s1.count(i)) + ',' # '' + h + : + 1 + ,#字符串的相加

# 'h:1,' + e + : + 1 + ,

print(result)

copycode.gif

17,补充代码(从已有的代码下面继续写):(6分)

有如下值li= [11,22,33,44,55,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

li = [11,22,33,44,55,77,88,99,90]

自己写的,anser 是错的

copycode.gif

result = {}

k1=[]

k2=[]

for row in li:

if row>66:

if result['k1']==[]:

result['k1']=row

else:

result['k1'].append(row)

else:

if result['k2'] == []:

result['k2']=row

else:

result['k2'].append(row)

print(result)

copycode.gif

anser

copycode.gif

li = [11, 22, 33, 44, 55, 77, 88, 99, 90]

# result = {'k1':[],'k2':[]}

result = {}

for row in li:

if row < 66:

if 'k1' not in result:#当正面思维遇到瓶颈的时候,可以尝试着用反向思维考虑下,或许会有意想不到的结果。

result['k1'] = []

result['k1'].append(row)

elif row > 66:

if 'k2' not in result:

result['k2'] = []

result['k2'].append(row)

print(result)

copycode.gif

18,查找列表li中的元素,移除每个元素的空格,并找出以’A’或者’a’开头,并以’c’结尾的所有元素,

并添加到一个新列表中,最后循环打印这个新列表。(3分)

copycode.gif

li = ['TaiBai ', 'alexC', 'AbC ', 'egon', ' riTiAn', 'WuSir', ' aqc']

l = []

for i in li:

if i.strip().capitalize()[0]=='A' and i.strip()[-1]=='c':

l.append(i)

print(l)

copycode.gif

19,实现一个整数加法计算器:(3分)

如:content = input(‘请输入内容:’) # 如用户输入:5+8+7....(最少输入两个数相加),然后进行分割再进行计算,

将最后的计算结果添加到此字典中(替换None):

dic={‘最终计算结果’:None}。

content = input('请输入你的内容:').strip()

copycode.gif

con = content.split('+')

sum = 0

for i in con:

i=i.strip()

i=int(i)

sum=sum+i

print(sum)

anser

dic={‘最终计算结果’:None}。

content = input('输入内容:').strip()

li = content.split('+')

dic = {'最终结果': None}

sum = 0

for i in li:

sum += int(i)

dic['最终结果'] = sum

print(dic)

copycode.gif

20,按要求完成下列转化(如果给list3再添加多个类似的字典如{"name": "太白", "hobby": "sport"}而你的代码不能通用,则只能得4分)。(6分)

list3 = [

{"name": "alex", "hobby": "抽烟"},

{"name": "alex", "hobby": "喝酒"},

{"name": "alex", "hobby": "烫头"},

{"name": "alex", "hobby": "Massage"},

{"name": "wusir", "hobby": "喊麦"},

{"name": "wusir", "hobby": "街舞"},

]

# 如何把上面的列表转换成下方的列表?

list4 = [

{"name": "alex", "hobby_list": ["抽烟", "喝酒", "烫头", "Massage"]},

{"name": "wusir", "hobby_list": ["喊麦", "街舞"]},

答案

copycode.gif

list3 = [

{"name": "alex", "hobby": "抽烟"},

{"name": "alex", "hobby": "喝酒"},

{"name": "alex", "hobby": "烫头"},

{"name": "alex", "hobby": "Massage"},

{"name": "wusir", "hobby": "喊麦"},

{"name": "wusir", "hobby": "街舞"},

]

list4=[]

for i in list3:

for j in list4:

if i['name']==j['name']:

j['hobby_list'].append(i['hobby'],)

break

else:

list4.append({'name':i['name'],'hobby_list':i['hobby']},)

print(list4)

list3 = [

{"name": "alex", "hobby": "抽烟"},

{"name": "alex", "hobby": "喝酒"},

{"name": "alex", "hobby": "烫头"},

{"name": "alex", "hobby": "Massage"},

{"name": "wusir", "hobby": "喊麦"},

{"name": "wusir", "hobby": "街舞"},

{"name": "wusir", "hobby": "洗头"},

{"name": "太白", "hobby": "街舞"},

]

'''

{ 'alex': {"name": "alex", "hobby_list": ["抽烟", "喝酒", "烫头", "Massage"]},

'wusir':{"name": "wusir", "hobby_list": ["喊麦", "街舞"]},

}

'''

dic = {

'alex': {"name": "alex", "hobby_list": ["抽烟"]},

'wusir':{"name": "wusir", "hobby_list": ["喊麦", "街舞"]},

}

print(list(dic.values()))

方法一

dic = {}

for i in list3:

if i['name'] not in dic:

dic[i['name']] = {'name':i['name'],'hobby_list':[i['hobby'],]}

else:

dic[i['name']]["hobby_list"].append(i['hobby'])

print(list(dic.values()))

list4 = [

{"name": "alex", "hobby_list": ["抽烟", "喝酒", "烫头", "Massage"]},

{"name": "wusir", "hobby_list": ["喊麦", "街舞"]},

]

list4 = []

#list4 = [{"name": "alex", "hobby_list": ["抽烟", ]]

for i in list3:

# {"name": "alex", "hobby": "抽烟"},

# {"name": "alex", "hobby": "喝酒"},

for j in list4: # list4 = [{"name": "alex", "hobby_list": ["抽烟", ]}]

# j = {"name": "alex", "hobby_list": ["抽烟", ]}

if i['name'] == j['name']:

j['hobby_list'].append(i['hobby'],)

break

else:

list4.append({'name':i['name'],'hobby_list':[i['hobby'],]})

print(list4)

copycode.gif

21,写程序,模拟公司HR将员工信息录入公司内部系统。

录入的员工信息表为这种数据类型:

user_list = [

{'id':1,

'personal_info':

{'name':'老男孩',

'age':56,

'sex':'男',

'marry_status':'是',

'edu_background':'本科'}

}

]

1,HR选择添加员工信息或者退出。

2,分别将员工的姓名,年龄,性别,婚否,学历这几项依次录入员工信息表中,其中id为自增(id不用HR填写,而是每添加一个员工信息就自动加1,并且id是唯一的)。

3,如果遇到录入员工信息时有相同的姓名,那么就将相同的姓名的员工的名字变成 名字+id(如之前录入了一个名叫张三的员工,之后新员工又有同名的情况也叫张三,那么后面这个张三名字要改成 张三2(此id为他的对应的id))。

4,退出整个程序时,最后要将本次录入的所有的员工姓名依次打印出来。

Ps:

copycode.gif

user_list = [

{'id': 1,

'personal_info':

{'name': '小明',

'age': 32,

'sex': '男',

'marry_status': '是',

'edu_background': '本科'}

},

]

while True:

choice = input('是否添加员工信息Q或者q退出:').strip()

if choice.upper()=='Q':break

name,age,sex,marry_status,edu_background=input('请依次输入姓名,年龄,性别,婚否,学历:').strip().replace(',',',').split(',')

#分别赋值,replace(',',','),尽量去除掉人为的因素

for i in user_list:

if i['personal_info']['name']==name:

name=name+str(len(user_list)+1) #id=列表的长度+1

user_list.append(

{'id': len(user_list)+1,

'personal_info':

{'name': name,

'age': age,

'sex': sex,

'marry_status': marry_status,

'edu_background':edu_background }

},

)

for i in user_list[1:]: # 循环打印

print(i['personal_info']['name'],i['id'])

copycode.gif

123

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dcom配置_spring cloud 二代架构依赖组件 全配置放送

一 背景介绍先来看一下我们熟悉的第一代 spring cloud 的组件spring cloud 现在已经是一种标准了&#xff0c;各公司可以基于它的编程模型编写自己的组件 &#xff0c;比如Netflix、阿里巴巴都有自己的一套通过spring cloud 编程模型开发的分布式服务组件 。Spring Cloud 二代组…

olap 多维分析_OLAP(在线分析处理)| OLAP多维数据集和操作

olap 多维分析In the previous article of OLAP, we have seen various applications of OLAP, Various types of OLAP, advantages, and disadvantages of OLAP. In this article, we will learn about the, 在OLAP的上一篇文章中&#xff0c;我们了解了OLAP的各种应用&#x…

每周一书-2016年8月28日到9月4日获奖读者公布

每周一书-2016年8月28日到9月4日获奖读者公布 上次送出的《Bootstrap基础教程》&#xff0c;已经被幸运者收到了。我们先来回顾下《改善C程序代码的125个建议》活动文章下的精彩留言。 这是一段高屋建瓴的评述&#xff0c;足见作者对C语言的了解和热爱层度&#xff0c;当然也得…

python map函数的作用_Python的map函数

map()是 Python 内置的高阶函数&#xff0c;它接收一个函数 f 和一个 list&#xff0c;并通过把函数 f 依次作用在 list 的每个元素上&#xff0c;得到一个新的 list 并返回。 例如&#xff0c;对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把list的每个元素都作平方&#xf…

idea java no sdk_java - intelliJ IDEA 13错误:请选择Android SDK

java - intelliJ IDEA 13错误&#xff1a;请选择Android SDK我已经在Error: Cannot find any configured Android SDK上安装了intelliJ 12.1.2和Error: Cannot find any configured Android SDK。现在我使用intelliJ 13.0.1创建了一个空的android应用程序项目(也使用模拟器作为…

该怎样在KeyShot中进行贴图

2019独角兽企业重金招聘Python工程师标准>>> 在渲染物体的时候&#xff0c;贴图常常是不可缺少的部分&#xff0c;贴图主要用于描述对象表面的物质形态&#xff0c;构造真实世界中自然物质表面的视觉表象。不同的贴图能给人带来不同的视觉感受&#xff0c;KeyShot3D…

6.dubbo常用的xml配置有哪些_【面试篇】必须掌握的Spring 常用注解

阅读文本大概需要5分钟。注解本身没有功能的&#xff0c;就和 xml 一样。注解和 xml 都是一种元数据&#xff0c;元数据即解释数据的数据&#xff0c;这就是所谓配置。本文主要罗列 Spring|Spring MVC相关注解的简介。Spring部分1、声明bean的注解Component 组件&#xff0c;没…

matlab数值计算pdf_Gnuplot科学绘图(九)——栅格以及方程数值解估算

Gnuplot科学绘图系列内容Gnuplot科学绘图(一)——从安装到简单函数绘图(文末有彩蛋)Gnuplot科学绘图(二)——坐标取值范围及刻度(文末有彩蛋)Gnuplot科学绘图(三)——点线风格Gnuplot科学绘图(四)——多组数据绘图Gnuplot科学绘图(五)——输出eps 图片Gnuplot科学绘图(六)——输…

购物商城框架java_基于jsp的购物商城-JavaEE实现购物商城 - java项目源码

基于jspservletpojomysql实现一个javaee/javaweb的购物商城, 该项目可用各类java课程设计大作业中, 购物商城的系统架构分为前后台两部分, 最终实现在线上进行购物商城各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类购物商城相关的实体进行管理。该购物…

python return用法_初学Python要了解什么 装饰器知识汇总有哪些

初学Python要了解什么&#xff1f;装饰器知识汇总有哪些&#xff1f;在Python学习过程中&#xff0c;有多种方法对函数和类进行加工&#xff0c;相对于其它方式&#xff0c;装饰器语法简单&#xff0c;代码可读性高。因此&#xff0c;装饰器在Python项目中有广泛的应用&#xf…

串口通信 校验码_一文读懂S7-200 SMART自由口通信!

学习S7-200 SMART时了解到&#xff0c;基于RS485接口可实现一下几种通信&#xff1a;1&#xff09;modbus RTU通信2&#xff09;PPI协议通信3&#xff09;USS协议通信4&#xff09;自由口通信何为自由口通信呢&#xff1f;前三种通信必须要PLC和与其通信的设备支持相同的通信协…

hbase 学习(十三)集群间备份原理

集群建备份&#xff0c;它是master/slaves结构式的备份&#xff0c;由master推送&#xff0c;这样更容易跟踪现在备份到哪里了&#xff0c;况且region server是都有自己的WAL 和HLog日志&#xff0c;它就像mysql的主从备份结构一样&#xff0c;只有一个日志来跟踪。一个master集…

python expect模块_Python基础教程:用Python怎么telnet到网络设备

Python基础教程&#xff1a;用Python怎么telnet到网络设备0.前言Telnet协议属于TCP/IP协议族里的一种&#xff0c;对于我们这些网络攻城狮来说&#xff0c;再熟悉不过了&#xff0c;常用于远程登陆到网络设备进行操作&#xff0c;但是&#xff0c;它的缺陷太明显了&#xff0c;…

Java实现动态加载页面_[Java教程]动态加载页面数据的小工具 javascript + jQuery (持续更新)...

[Java教程]动态加载页面数据的小工具 javascript jQuery (持续更新)0 2014-05-07 18:00:06使用该控件&#xff0c;可以根据url&#xff0c;参数&#xff0c;加载html记录模板(包含json参数对应&#xff0c;以及具体记录位置Index根据参数描述加载对应的属性&#xff0c;并可以…

pygame render怎么显示中文_PyGame开发游戏(2D)02.基础图元

这节将介绍PyGame的基础架构。并学习如何在PyGame里绘制各种几何图形和显示加载图片。01.应用框架上一节的示例程序里&#xff0c;我们用到一个PyGame的应用程序框架。这是一个基础框架&#xff0c;利用它我们可以很轻松的添加各类图型绘制&#xff0c;键盘鼠标输入处理和各类逻…

word+增加水印+java_为Word2019文档添加水印的两种方法

水印的类型包括文字水印和图片水印两种。在Word文档中添加文字水印时&#xff0c;可以使用程序中预设的水印效果&#xff0c;而图片水印则需要自定义添加。一、使用程序预设的文字水印Word 2019中预设了机密、紧急、免责声明三种类型的文字水印&#xff0c;用户可根据文件的类型…

如何设置CentOS 7获取动态及静态IP地址

自动获取动态IP地址1.输入“ip addr”并按回车键确定&#xff0c;发现无法获取IP(CentOS 7默认没有ifconfig命令)&#xff0c;记录下网卡名称&#xff08;本例中为ens33&#xff09;。2.输入“cd /etc/sysconfig/network-scripts/”按回车键确定&#xff0c;继续输入“ls”按回…

请求列出指定服务器上的可用功能失败_滥用 ESI 详解(上)

在进行安全性评估时&#xff0c;我们注意到了标记语言 Edge Side Includes (ESI)中的一个意外行为&#xff0c;这种语言用于许多流行的 HTTP 代理(反向代理、负载平衡器、缓存服务器、代理服务器)。我们发现成功的 ESI 攻击可以导致服务器端请求伪造(SSRF)、各种绕过 HTTPOnly …

openstack nova-network 的小bug的排错经历

环境是 nova-network vmwareflatdhcp错误表现为 开出来的虚拟机有一定几率获取不到dhcp地址&#xff0c;手工赋予ip则正常&#xff0c;用flat模式注入的ip正常&#xff0c;下面是排错过程1首先找网络防火墙已经把 dnsmasq对应的端口已经打开抓包结果&#xff1a;可以看到虚拟机…

anaconda base环境_anaconda中安装packages:pip还是conda install?

conda install我就不说了&#xff0c;这都不会别学了就。Using command:$ which -a pip, the terminal will return:This indicates two different pip path to install packages[1].在tf23环境中pip install在base环境中pip install在windows下powershell内&#xff0c;进入到…