python30题
1、执行Python 脚本的两种方式
使用python解释器(python aa.py)或在unix系统下赋值成777,执行(./aa.py)
2、简述位、字节的关系
1个byte = 8bit,在ASCII表中,一共有255个字符,一个字符占8位。
3、简述ascii、unicode、utf-‐8、gbk 的关系
最初的计算机是由美国人发明的,制定了一张包含他们能用到的所有字符和计算机能理解的数字的对应关系。随着计算机的发展和普及,各国都制定了自己的编码,那么ASCII也容纳不了且无法形成统一标准,就推出了Unicode(万国码)。utf-8是可变长的编码,是unicode原
本占2个字节的英文被编码成1个字节,汉字是3个字节,生僻的字符占4-6个字节,节省了传输英文编写文档的空间。gbk是中国人自己的字符集,容纳了2万1千多个字符。
4、请写出“李杰”分别用utf-‐8 和gbk 编码所占的位数
utf-8用6个字节表示2个汉字,gbk用4个字节
5、Pyhton 单行注释和多行注释分别用什么?
单行注释用“#”,多行注释用'''注释内容'''
6、声明变量注意事项有那些?
(1)不能以数字开头(2)只能是字母、数字或下划线的任意组合,但不能有特殊字符(3)关键字通常不能声明为变量
8、如何查看变量在内存中的地址?
id(变量名)
9、执行Python程序时,自动生成的.pyc文件的作用是什么?
.pyc文件是由.py文件经过编译后生成的字节码文件,其加载速度相对于之前的.py文件有所提高,且实现了源码隐藏,以及一定程度上的反编译。一般是import其他py文件的时候会生成。
10、写代码
a.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败。
user = input("Username: ").strip()
passwd = input("Password: ").strip()
if user == "seven" and passwd == "":
print("Welcome to back,",user)
else:
print("Incorrect username or password!")
b.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
for i in range(3):
user = input("Username: ").strip()
passwd = input("Password: ").strip()
if user == "seven" and passwd == "":
print("Welcome to back,",user)
break
else:
print("Incorrect username or password!")
c.实现用户输入用户名和密码,当用户名为seven或alex且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
for i in range(3):
user = input("Username: ").strip()
passwd = input("Password: ").strip()
if user == "seven" or user == "alex" and passwd == "":
print("Welcome to back,",user)
break
else:
print("Incorrect username or password!")
11、写代码
a.使用while 循环实现输出2‐3+4‐5+6...+100的和
b.使用for 循环和range 实现输出1-2+3‐4+5‐6...+99的和
num =
for i in range():
if i % == :
num = num - i
else:
num = num + i
print(num)
-49
c.使用while 循环实现输出1,2,3,4,5,7,8,9,11,12
i =
while i < :
i +=
if i == or i == :
continue
else:
print(i)
d.使用while 循环实现输出1-‐100内的所有奇数
i =
while i<=:
if i % != :
print(i)
i +=
e.使用while 循环实现输出1-‐100内的所有偶数
i =
while i<=:
if i % == :
print(i)
i +=
12、分别书写数字5,10,32,7 的二进制表示
101 1010 100000 111
13、简述对象和类的关系(可用比喻的手法)
类是抽象的概念,为所有对象定义了抽象的属性与行为,对象是类的一个具体。是一个实实在在的东西。比如人类是所有人的一个统称,具体的你、我、他是其中的对象。
14、现有如下两个变量,请简述n1和n2是什么关系?
n1=123
n2=123
n1和n2指向同一块内存地址,数值是123
15、现有如下两个变量,请简述n1和n2是什么关系?
n1=123456
n2=123456
开辟了2个内存地址存放数据123456,并分别起了个名称为n1和n2.
16、现有如下两个变量,请简述n1和n2是什么关系?
n1=123456
n2=n1
给数据123456起了另外一个别名n2,相当于n1和n2都指向该数据的内存地址
17、如有一下变量n1=5,请使用int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
18、布尔值分别有什么?
布尔值有True和False
19、阅读代码,请写出执行结果
a="alex"
b=a.capitalize()
print(a)
print(b)
请写出输出结果:
print(a)
alex
print(b)
Alex
20、写代码,有如下变量,请按照要求实现每个功能
name=" aleX"
a.移除name 变量对应的值两边的空格,并输入移除有的内容
b.判断name 变量对应的值是否以"al"开头,并输出结果
print(name.startswith("al"))
执行结果
False
c.判断name 变量对应的值是否以"X"结尾,并输出结果
print(name.endswith("X"))
执行结果
True
d.将name 变量对应的值中的“l”替换为“p”,并输出结果
print(name.replace("l","p"))
执行结果
apeX
e.将name 变量对应的值根据“l”分割,并输出结果。
print(name.split("l"))
执行结果
[' a', 'eX']
f.请问,上一题e分割之后得到值是什么类型?
列表
g.将name 变量对应的值变大写,并输出结果
print(name.upper())
执行结果
ALEX
h.将name 变量对应的值变小写,并输出结果
print(name.lower())
执行结果
alex
i.请输出name 变量对应的值的第2 个字符?
print(name[1])
执行结果
a
j.请输出name 变量对应的值的前3 个字符?
print(name[:3])
执行结果
al
k.请输出name 变量对应的值的后2 个字符?
print(name[-2:])
执行结果
eX
l.请输出name 变量对应的值中“e”所在索引位置?
print(name.index("e"))
执行结果
3
21、字符串是否可迭代?如可以请使用for 循环每一个元素?
name = " aleX"
for i in name:
print(i)
22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain']
li = ["alex","eric","rain"]
for i in li:
print("_".join(i)) 执行结果
a_l_e_x
e_r_i_c
r_a_i_n
22、写代码,有如下列表,按照要求实现每一个功能
li=['alex','eric','rain']
a.计算列表长度并输出
print(len(li))
执行结果
3
b.列表中追加元素“seven”,并输出添加后的列表
li.append("seven")
print(li)
执行结果
['alex', 'eric', 'rain', 'seven']
c.请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
li.insert(0,"Tony")
print(li)
执行结果
['Tony', 'alex', 'eric', 'rain']
d.请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
li[1] = "Kelly"
print(li)
执行结果
['alex', 'Kelly', 'rain']
e.请删除列表中的元素“eric”,并输出修改后的列表
li.remove("eric")
print(li)
执行结果
['alex', 'rain']
f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
>>> li.pop(1)
'eric'
>>> li
['alex', 'rain']
g.请删除列表中的第3个元素,并输出删除元素后的列表
>>> li = ["alex","eric","rain"]
>>> li.pop()
'rain'
>>> li
['alex', 'eric']
h.请删除列表中的第2 至4 个元素,并输出删除元素后的列表
>>> li = ['alex', 'eric', 'rain', 'seven']
>>> del li[1:]
>>> li
['alex']
i.请将列表所有的元素反转,并输出反转后的列表
>>> li = ["alex","eric","rain"]
>>> li.reverse()
>>> li
['rain', 'eric', 'alex']
j.请使用for、len、range 输出列表的索引
li = ["alex","eric","rain"]
for index in range(len(li)):
print(index,li[index])
执行结果
0 alex
1 eric
2 rain
k.请使用enumrate 输出列表元素和序号(序号从100 开始)
li = ["alex","eric","rain"]
for index,value in enumerate(li,100):
print(index,value)
执行结果
100 alex
101 eric
102 rain
l.请使用for 循环输出列表的所有元素
li = ["alex","eric","rain"]
for i in li:
for item in i:
print(item)
执行结果
a
l
e
x
e
r
i
c
r
a
i
n
23、写代码,有如下列表,请按照功能要求实现每一个功能
li=["hello",'seven',["mon",["h","kelly"],'all'],123,446]
a.请输出“Kelly”
>>> li = ["hello","seven",["mon",["h","kelly"],"all"],123,446]
>>> li[2][1][1]
'kelly'
b.请使用索引找到'all'元素并将其修改为“ALL”
>>> li[2][2] = "ALL"
>>> li
['hello', 'seven', ['mon', ['h', 'kelly'], 'ALL'], 123, 446]
24、写代码,有如下元组,按照要求实现每一个功能
tu=('alex','eric','rain')
a.计算元组长度并输出
>>> tu = ("alex","eric","rain")
>>> len(tu)
3
b.获取元组的第2个元素,并输出
>>> tu[1]
'eric'
c.获取元组的第1--‐2个元素,并输出
>>> tu[:2]
('alex', 'eric')
d.请使用for 输出元组的元素
tu = ("alex","eric","rain")
for i in tu:
print(i)
执行结果
alex
eric
rain
e.请使用for、len、range 输出元组的索引
tu = ("alex","eric","rain")
for index in range(len(tu)):
print(index,tu[index])
执行结果
0 alex
1 eric
2 rain
f.请使用enumrate 输出元祖元素和序号(序号从10 开始)
tu = ("alex","eric","rain")
for index,values in enumerate(tu,10):
print(index,values)
执行结果
10 alex
11 eric
12 rain
25、有如下变量,请实现要求的功能
tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
a.讲述元组的特性
不可变类型,一旦一个对象被定义了,它的值就不能再被修改,如果包含可变的列表,字典等值,那这些值可以改变
b.请问tu 变量中的第一个元素“alex”是否可被修改?
不能被修改
c.请问tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
k2对应的值是列表类型,可以被修改.
>>> tu = ("alex",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44])
>>> tu[1][2]["k2"].append("Seven")
>>> tu
('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name', 'Seven'], 'k3': (11, 22, 33)}, 44])
d.请问tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
k3对应的类型是元组,不能被修改
26、字典
dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
a.请循环输出所有的key
for keys in dic.keys():
print(keys)
执行结果
k1
k2
k3
b.请循环输出所有的value
for values in dic.values():
print(values)
执行结果
v1
v2
[11, 22, 33]
c.请循环输出所有的key 和value
dic = {"k1":"v1","k2":"v2","k3":[11,22,33]}
for k,v in dic.items():
print(k,v)
执行结果
k1 v1
k3 [11, 22, 33]
k2 v2
d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典
dic.setdefault("k4","v4")
print(dic)
执行结果
{'k2': 'v2', 'k3': [11, 22, 33], 'k1': 'v1', 'k4': 'v4'}
e.请在修改字典中“k1”对应的值为“alex”,输出修改后的字典
dic["k1"] = "alex"print(dic)执行结果{'k3': [11, 22, 33], 'k2': 'v2', 'k1': 'alex'}
f.请在k3 对应的值中追加一个元素44,输出修改后的字典
dic["k3"].append("")
print(dic)
执行结果
{'k3': [11, 22, 33, ''], 'k2': 'v2', 'k1': 'v1'}
g.请在k3 对应的值的第1个位置插入个元素18,输出修改后的字典
dic["k3"][0] = ""
print(dic)
执行结果
{'k3': ['', 22, 33], 'k2': 'v2', 'k1': 'v1'}
27、转换
a.将字符串s="alex"转换成列表
s = "alex"
print(list(s))
执行结果
['a', 'l', 'e', 'x']
b.将字符串s="alex"转换成元组
s = "alex"
print(tuple(s))
执行结果
('a', 'l', 'e', 'x')
b.将列表li=["alex","seven"]转换成元组
li = ["alex","seven"]
print(tuple(li))
执行结果
('alex', 'seven')
c.将元组tu=('Alex',"seven")转换成列表
tu = ("alex","seven")
print(list(tu))
执行结果
['alex', 'seven']
d.将列表li=["alex","seven"]转换成字典且字典的key 按照10开始向后递增
li = ["alex","seven"]
dic = {}
for i,v in enumerate(li,10):
dic.setdefault(i,v)
print(dic)
执行结果 {'seven': 11, 'alex': 10}
27、转码
n="老男孩"
a.将字符串转换成utf-‐8 编码的字节,并输出,然后将该字节再转换成utf-‐8 编码字符串,再输出
print(n.encode(encoding="utf-8"))
执行结果
b'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9'
print("\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9".encode(encoding="utf-8"))
执行结果
b'\xc3\xa8\xc2\x80\xc2\x81\xc3\xa7\xc2\x94\xc2\xb7\xc3\xa5\xc2\xad\xc2\xa9'
a.将字符串转换成gbk 编码的字节,并输出,然后将该字节再转换成gbk 编码字符串,再输出
print(n.encode(encoding="gbk"))
执行结果
b'\xc0\xcf\xc4\xd0\xba\xa2'
print("\xc0\xcf\xc4\xd0\xba\xa2".encode(encoding="gbk"))
执行结果
UnicodeEncodeError: 'gbk' codec can't encode character '\xc0' in position 0: illegal multibyte sequence
28、求1-‐100 内的所有数的和
a = 0
for i in range(0,100):
a += (i+1)
print(a)
执行结果
5050
29、元素分类
有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key 中,将小于66的值保存至第二个key 的值中。即:{'k1':大于66 的所有值,'k2':小于66 的所有值}
30、购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
goods=[{"name":"电脑","price":1999},
{"name":"鼠标","price":10},
{"name":"游艇","price":20},
{"name":"美女","price":998},
]
python30题的更多相关文章
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- 【Java每日一题】20170106
20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170105
20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170104
20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170103
20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- SQL面试笔试经典题(Part 1)
本文是在Cat Qi的原贴的基础之上,经本人逐题分别在MySql数据库中实现的笔记,持续更新... 参考原贴:http://www.cnblogs.com/qixuejia/p/3637735.htm ...
- 刷LeetCode的正确姿势——第1、125题
最近刷LeetCode比较频繁,就购买了官方的参考电子书 (CleanCodeHandbook),里面有题目的解析和范例源代码,可以省去非常多寻找免费经验分享内容和整理这些资料的时间.惊喜的是,里面的 ...
- AWS的SysOps认证考试样题解析
刚考过了AWS的developer认证,顺手做了一下SysOps的样题.以下是题目和答案. When working with Amazon RDS, by default AWS is respon ...
- AWS开发人员认证考试样题解析
最近在准备AWS的开发人员考试认证.所以特意做了一下考试样题.每道题尽量给出了文档出处以及解析. Which of the following statements about SQS is true ...
随机推荐
- 八大排序算法的python实现(八)简单选择排序
代码: #coding:utf-8 #author:徐卜灵 # L = [6, 3, 2, 32, 5, 4] def Select_sort(L): for i in range(0,len(L)) ...
- Unity---动画系统学习(1)---在状态机中简单控制物体运动
1. 介绍 新建一个GameObject-Cube,在Window下添加Animation(快捷键ctrl+6).会添加用于播放动画的三个东西.物体上的Animator组件.Animator Cont ...
- Servlet完全教程
Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求.尽管Servlet可以响应任意类型的请求,但是它们使用最广泛的是响应web方面的请求. Servle ...
- AtCoder - 2568 最小割
There is a pond with a rectangular shape. The pond is divided into a grid with H rows and W columns ...
- CentOS 中安装tomcat
1.安装tomcat前,需要安装JDK 2.下载tomcat安装包 wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin ...
- js 方法总结
1. 格式化时间 function format(str,fmt) { var usedDate = new Date(usedDay); var o = { "M+": used ...
- 划分型博弈型dp
划分型动态规划: 513. Perfect Squares https://www.lintcode.com/problem/perfect-squares/description?_from=lad ...
- C++ GUI Qt4编程(06)-2.3sort
1. 使用Qt设计师创建Sort对话框. 2. sortdialog.cpp /**/ #include "sortdialog.h" SortDialog::SortDialog ...
- js简介 基本操作 以及循环语句 内置对象 函数044
js 全称 javascript 从交互的角度 描述行为 一 .js注释方法: //单行注释 声明变量 var 二 .声明多个变量 : var a = '2' ,b = 4, c = tru ...
- PIE.NET-SDK组件式二次开发文档
一.PIE.Net开发环境及目录说明 1. 开发环境 确保Win7系统已安装SP1 安装Visual Studio2013(支持VS2010/2012/2013/2015) 安装PIESDK.ex ...