全栈作业(一)

  共计30题

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 == "123":
    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 == "123":
        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 == "123":
        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的和

  c.使用while 循环实现输出1,2,3,4,5,7,8,9,11,12

  d.使用while 循环实现输出1--‐100内的所有奇数

  e.使用while 循环实现输出1--‐100内的所有偶数

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):
    print(index + 100,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):
    print(index + 10,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("44")
print(dic)
执行结果
{‘k3‘: [11, 22, 33, ‘44‘], ‘k2‘: ‘v2‘, ‘k1‘: ‘v1‘}

  g.请在k3 对应的值的第1个位置插入个元素18,输出修改后的字典

dic["k3"][0] = "18"
print(dic)
执行结果
{‘k3‘: [‘18‘, 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"]
>>> l2 = []
>>> for i in li:
    l2.append(li.index(i) + 10)
    dict(zip(li, l2))
执行结果
{‘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},
]

时间: 2024-11-07 01:59:24

全栈作业(一)的相关文章

【总结+计划】十二月份总结+2015一月份计划——全栈出发

十二月学习好多,但是不成系统,读了十几年的书,仍然没有适合自己的高效学习方法,唉,真让人气馁. 所以要有广度和深度:广度即视野,深度即钻研. 计划,和同学们组队做个大作业,短短三天建个网站,让我对后台和数据库有些了解,发现全栈的实现对我来说就在不远处,我甚至可以想象到我一个应聘全栈的情境,有股莫名的喜感.All I need to do is practising, coding coding coding !!!

老男孩Python高级全栈开发工程师【真正的全套完整无加密】

课程大纲 老男孩python全栈,Python 全栈,Python教程,Django教程,Python爬虫, scrapy教程,python高级全栈开发工程师,本套教程,4部分完整无缺,课程完结,官方售价6800元. 课程全部都是不加密,全部都有声音-不是网上那种几块钱十几块钱那种加密没有声音或者课程不全,贪便宜花冤枉钱不说都会严重影响学习,耽误大量时间! 本套全栈课程,不说完全媲美线下教学,只要你肯坚持,不会比面授差太多-坚持学完找一份python开发类的工作完全没问题,另外对于学习方面的投资

Python3.X全栈-Day09-Python语言介绍、变量、基本数据类型及while循环

01 python全栈s3 day9  Python开发系列课程概要 02 python全栈s3 day9  Python作业要求以及博客 03 python全栈s3 day9  编程语言介绍 04 python全栈s3 day9  Python种类介绍 05 python全栈s3 day9  Python安装以及环境变量的操作(一) 06 python全栈s3 day9  Python安装以及环境变量的操作(二) 07 python全栈s3 day9  Python条件语句和基本数据类型(一)

“全栈”工程师 请不要随意去做

今天我来给大家说说 "全栈工程师" 的事儿. 写这篇文的背景原因: 很简单就是最近越来越多的人想做[全栈工程师],他们的目标就是全栈,他们才入行短短1-2年,甚至刚从培训班出来:我的目标是做全栈,我啥都要学会,啥都会写,这样我就是大牛了,可以挣大钱,就算创业,我也不用招那么多人,一个人搞定一个产品,融资上市 ,CEO白富美,balabala... 我给他的回复是: 去你xx的,你连JS 数组和对象用法都搞不清,抄几个效果,看几个视频教程摸索摸索就要做万能人了? "全栈&quo

全栈必备Linux 基础

Linux 几乎无处不在,不论是服务器构建,还是客户端开发,操作系统的基础技能对全栈来说都是必备的. 系统的选择 Linux发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表. Redhat,应该称为Redhat系列,包括RHEL.Fedora.CentOS(RHEL的社区克隆版本,免费).Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian加强而来,一个拥有Debia

全栈工程师?

作者:肖文峰链接:https://zhuanlan.zhihu.com/p/20091607来源:知乎 最近参加一个技术社区活动,在讨论到"CTO的技术深度和广度哪个更重要"的话题时,我想起社区里面常常提到的"全栈工程师"的事情,于是表达了一些观点.临场未必能够清晰表达,所以下笔,希望能够引起一些讨论,避免年轻工程师误入歧途. 长期以来,社区就有人在提"全栈工程师",还有一些公司直接挂出名为"全栈工程师"的招聘职位.那什么是全

只想把技术做好,维持一份可观的收入,就精专一门;有创业想法,就全栈

做全栈开发(前端和后端)好还是全端开发(前端和Android应用开发)好?哪个前景和钱景发现比较好,对以后的发展! 1. 有创业想法,就全栈.只想把技术做好,维持一份可观的收入,就精专一门 2. 全栈对自己的优势不大吗?好多公司都不认同,特别是HR,普遍的观点是,会的多,就很难专精. 3. 大公司是一个靠分工增加工作效率的机构,无论你全栈,还是全端,对公司来说都只用你的一部分技能.但是薪资可是要比一般的人高一些,所以很多HR都忽悠你说全会的就没法专精.先全栈,后全端.别信那些HR忽悠. 4. 有

教你成为全栈工程师

教你成为全栈工程师(Full Stack Developer) 〇-什么是全栈工程师(2016-04-04) 教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别(2016-04-06) 教你成为全栈工程师(Full Stack Developer) 二-半小时学会网站开发(2016-04-08) 教你成为全栈工程师(Full Stack Developer) 三-网站后端服务器那些事(2016-04-10) 教你成为全栈工程师(Full Stac

python全栈和python自动化课程的区别在哪?

老男孩算是国内组早的做python培训的机构了,下面小编对于python自动化课程及全栈课程做了一个总结,希望能帮到你们: python全栈开发: 适合人群:应届本科生,专科,及零基础学员学习基础:0基础上课形式:脱产5个月,周一至周五上课课程内容:linux基础知识,python基础知识,网络编程,数据库应用,web开发,算法设计模式项目实战:博客系统开发,CRM系统开发,CMDB开发,主机开发管理,爬虫开发,金融量化交易项目开发未来发展方向:python全栈开发工程师就业方向:python爬