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题的更多相关文章

  1. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  2. 【Java每日一题】20170106

    20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  3. 【Java每日一题】20170105

    20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  4. 【Java每日一题】20170104

    20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  5. 【Java每日一题】20170103

    20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  6. SQL面试笔试经典题(Part 1)

    本文是在Cat Qi的原贴的基础之上,经本人逐题分别在MySql数据库中实现的笔记,持续更新... 参考原贴:http://www.cnblogs.com/qixuejia/p/3637735.htm ...

  7. 刷LeetCode的正确姿势——第1、125题

    最近刷LeetCode比较频繁,就购买了官方的参考电子书 (CleanCodeHandbook),里面有题目的解析和范例源代码,可以省去非常多寻找免费经验分享内容和整理这些资料的时间.惊喜的是,里面的 ...

  8. AWS的SysOps认证考试样题解析

    刚考过了AWS的developer认证,顺手做了一下SysOps的样题.以下是题目和答案. When working with Amazon RDS, by default AWS is respon ...

  9. AWS开发人员认证考试样题解析

    最近在准备AWS的开发人员考试认证.所以特意做了一下考试样题.每道题尽量给出了文档出处以及解析. Which of the following statements about SQS is true ...

随机推荐

  1. 微服务架构下分布式事务解决方案——阿里云GTS

    https://blog.csdn.net/jiangyu_gts/article/details/79470240 1 微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单.松耦合的服务,这 ...

  2. mysql主从复制简单配置,满满的干货

    mysql主从备份(复制)的基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改 ...

  3. ActiveMQ消息队列的搭建和使用

    一.安装ActiveMQ(部署在centos7) 1.ActiveMQ官网下载地址:http://activemq.apache.org/download.html 2.解压安装包:tar xvzf  ...

  4. C# 委托的三种调用示例(同步调用、异步调用、异步回调)

    首先,通过代码定义一个委托和下面三个示例将要调用的方法: 代码如下: public delegate int AddHandler(int a,int b); public class 加法类 { p ...

  5. shell-001:记录每天的磁盘情况

    # shell-100只是为了练习!!适合新手! #!/bin/bash # 此脚本是记录每天的磁盘情况,记录保存30天! # 当前的日期 current_time=$(date +%F) # 保存的 ...

  6. Qt 学习之路 2(33):贪吃蛇游戏(3)

    Qt 学习之路 2(33):贪吃蛇游戏(3) 豆子 2012年12月29日 Qt 学习之路 2 16条评论 继续前面一章的内容.上次我们讲完了有关蛇的静态部分,也就是绘制部分.现在,我们开始添加游戏控 ...

  7. Domoticz 中接入斐讯 M1 空气质量检测仪

    前言 M1 是翻车讯出的一款空气质量检测仪,如今斐讯的服务器经常连不上了,M1 不动动手接到 Domoticz 怕是变成摆设了.教程参考了这里和官方的 Using Python plugins. 步骤 ...

  8. LOJ6519. 魔力环(莫比乌斯反演+生成函数)

    题目链接 https://loj.ac/problem/6519 题解 这里给出的解法基于莫比乌斯反演.可以用群论计数的相关方法代替莫比乌斯反演,但两种方法的核心部分是一样的. 环计数的常见套路就是将 ...

  9. Codeforces - 71E 状压DP

    参考官方题解 #include<bits/stdc++.h> #define rep(i,j,k) for(register int i=j;i<=k;i++) #define rr ...

  10. session.flush()与session.clear()的区别及使用环境

    [From] http://blog.csdn.net/leidengyan/article/details/7514484 首先session是有一级缓存的,目的是为了减少查询数据库的时间,提高效率 ...