1、执行 Python 脚本的两种方式

1、.直接使用PyCharm执行

2、python run.py 调用python 解释器来调用python脚本

2、简述位、字节的关系

数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B)

3、简述 ascii、unicode、utf-8、gbk的关系

ASCII码最多只能表示 255 个符号

unicode最多只能表示65536个字符

utf-8是对Unicode编码的压缩和优化:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

gbk是汉字内码扩展规范

4、请写出  “李杰”  分别用 utf-8 和 gbk 编码所占的位数

用utf-8占48位

用gbk占32位

5、Pyhton单行注释和多行注释分别用什么?

python中单行注释采用 # 开头

python 中多行注释使用三个单引号(''')或三个双引号(""")

6、声明变量注意事项有那些?

1、变量名可以包括字母、数字、下划线,但是数字不能做为开头。例如:name1是合法变量名,而1name就不可以。
2、系统关键字不能做变量名使用
3、除了下划线之个,其它符号不能做为变量名使用
4、Python的变量名是除分大小写的,例如:name和Name就是两个变量名,而非相同变量哦。

8、如何查看变量在内存中的地址?

使用命令id(变量名)

9、执行 Python 程序时,自动生成的 .pyc 文件的作用是什么?

将.py形式的程序编译成中间式文件(byte-compiled)的.pyc文件,这么做的目的就是为了加快下次执行文件的速度。所以,在我们运行python文件的时候,就会自动首先查看是否具有.pyc文件,如果有的话,而且.py文件的修改时间和.pyc的修改时间一样,就会读取.pyc文件,否则,Python就会读原来的.py文件。

10、写代码

a.实现用户输入用户名和密码,当用户名为
seven 且
密码为 123 时,显示登陆成功,否则登陆失败!

name = input("please input your name
").strip()
password = input("please input your password ").strip()
if name=="seven" and password=="123":
    print("login successfull!")
else:
    print("login fail")

b.实现用户输入用户名和密码,当用户名为
seven 且
密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

count=3

while count>0:

name = input("please input your name ").strip()

password=input("please input your password ").strip()

if name=="seven" and password=="123":

print("login successfull!")

else:

count-=1

print("login fail,you have %s 次重试机会"%(count))

c.实现用户输入用户名和密码,当用户名为
seven 或 alex 且
密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

count=3

while count>0:

name = input("please input your name ").strip()

password=input("please input your password ").strip()

if name in ['seven','alex'] and password=="123":

print("login successfull!")

break;

else:

count-=1

print("login fail,you have %s 次重试机会"%(count))

11、写代码

a.   使用 while 循环实现输出 2 -3 +
4-5 + 6 ... + 100的和

sum=0

count=2

while count<=100:

if count%2==0:

sum+=count

else:

sum-=count

count+=1

print(sum)

b.   使用 for 循环和 range 实现输的1 -2 + 3-4
+ 5-6 ... + 99的和

sum=0

for i in range(1,100):

if i%2==0:

sum-=i

else:

sum+=i

print(sum)

c. 使用 while 循环实现输出  1,2,3,4,5,7,8,9,11,12 d. 使用 while 循环实现输出 1-100 内的所有奇数

count=1

while count<13:

if count not in [6,10]:

print(count)

count+=1

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

count=1

while count<=100:

if not count%2==0:

print(count)

count+=1

12、分别书写数字 5,10,32,7 的二进制表示

for i in [5,10,32,7]:

print("{} 的二进制数是 {}".format(i,bin(i)))

13、简述对象和类的关系(可用比喻的手法)

先有类而后有对象,属父子关系。

14、现有如下两个变量,请简述 n1 和 n2 是什么关系?

n1 = 123           
n2 = 123

内存地址一样python内部的优化: -5到157之间的赋值变量都是相同的地址,超过这个限制内存地址不同。

15、现有如下两个变量,请简述 n1 和 n2 是什么关系?

n1 = 123456

n2 = 123456

值相等,内存地址不相等,属于两个不同的实例。

16、现有如下两个变量,请简述 n1 和 n2 是什么关系?

n1 = 123456

n2 = n1

n1与n2属引用关系,内存地址相等。

17、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?

print(int(5).bit_length()); #3个

18、布尔值分别有什么?

真或假 1 或 0

19、阅读代码,请写出执行结果 a =
"alex"

b = a.capitalize() print(a)  print(b)

请写出输出结果: alex  Alex

20、写代码,有如下变量,请按照要求实现每个功能

Name=”alex”

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[0:3]) #al

k. 请输出 name 变量对应的值的后 2 个字符?

print(name[-2:])       #eX
21、字符串是否可迭代?如可以请使用for循环每一个元素?
name = "caoxing"
for i in name:
    print(i)
22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']

Str2= li[0]+"_"+li[1]+"_"+li[2]

22、写代码,有如下列表,按照要求实现每一个功能 li  =  ['alex', 'eric', 'rain']

a. 计算列表长度并输出

print(len(li))  #3

b. 列表中追加元素 “seven”,并输出添加后的列表

li.append("seven")     #['alex', 'eric', 'rain', 'seven']

c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表

li.insert(0,"Tony")     #['Tony', 'alex', 'eric', 'rain']

d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表

li[1]="Kelly"                         #['alex', 'Kelly', 'rain']

e. 请删除列表中的元素 “eric”,并输出修改后的列表

li = ['alex', 'eric', 'rain']

li.remove('eric')

print(li)

#['alex', 'rain']

f. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表

print(li.pop(1))

#eric

#['alex', 'rain']

g. 请删除列表中的第 3 个元素,并输出删除元素后的列表

li.pop(2)

#['alex', 'eric']

h. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表

del li[1:3]

#['alex', eric]

k. 请使用 enumrate 输出列表元素和序号(序号从 100 开始)

for i, j in enumerate(li):

print(i+100, j)

#100 alex

#101 eric

#102 rain

#103 nimeide

l. 请使用 for 循环输出列表的所有元素

for item in li

print item

23、写代码,有如下列表,请按照功能要求实现每一个功能 li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]

 

a. 请输出 “Kelly”

print(li[2][1][1])

b. 请使用索引找到 'all' 元素并将其修改为 “ALL”

print(li[2][2].upper())

24、写代码,有如下元组,按照要求实现每一个功能 tu  =  ('alex', 'eric', 'rain')

a. 计算元组长度并输出

print(len(tu))     #3

b. 获取元组的第 2 个元素,并输出

print(tu[1])

c. 获取元组的第 1-2 个元素,并输出

print(tu[0:2])

d. 请使用 for 输出元组的元素

for i in range(len(tu)):

print(tu[i])

e. 请使用 for、len、range 输出元组的索引

for i in range(len(tu)):

print(i,tu[i])

f. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始)

for i,j in enumerate(tu):

print(i+10,j)

25、有如下变量,请实现要求的功能

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])

a. 讲述元祖的特性

不可修改,所以又叫不可变列表

b. 请问 tu 变量中的第一个元素 “alex” 是否可被修改?

不可以修改

c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”

可以修改,是列表

d. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”

tu[1][2]["k3"]=list(tu[1][2]["k3"])

tu[1][2]["k3"].append("Seven")

tu[1][2]["k3"]=tuple(tu[1][2]["k3"])print(tu)

26、字典

dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}

a. 请循环输出所有的 key

for i in dic.keys():

print(i)

b. 请循环输出所有的 value

for i in dic.values():

print(i)

d.请在字典中添加一个键值对,"k4":  "v4",输出添加后的字典

dic["k4"] = "v4"   #{'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}

e. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典

dic["k1"] = "alex"   # {'k1': 'alex', 'k3': [11, 22, 33], 'k2': 'v2'}

f. 请在 k3 对应的值中追加一个元素 44,输出修改后的字典

dic["k3"].append(44)

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

dic["k3"].insert(0,18)     # {'k3': ['18', 11, 22, 33], 'k1': 'v1', 'k2': 'v2'}

27、转换

a.  将字符串  s = "alex"  转换成列表

print(list(s))

b. 将字符串  s = "alex"  转换成元祖

print(tuple(s))

b. 将列表 li = ["alex", "seven"] 转换成元组

print(tuple(li))

c. 将元祖 tu = ('Alex', "seven") 转换成列表

print(list(tu))

d. 将列表 li = ["alex", "seven"] 转换成字典且字典的 key 按照 10 开始向后递增

li2 = [10,11]
print(dict(zip(li2,li)))
dict1={}
count=10
for i in li:
    dict1[count]=i
    count+=1
print(dict1)
27、转码

a. 将字符串转换成utf-8 编码的字节,并输出,然后将该字节再转换成utf-8编码字符串,再输出

sstr=n.encode("UTF-8")

sstr.decode("UTF-8")

print(sstr)

b. 将字符串转换成 gbk 编码的字节,并输出,然后将该字节再转换成 gbk 编码字符串,再输出

sstr=n.encode("GBK")

print(sstr.decode("GBK"))

28、求1-100 内的所有数的和

sum = 0

for i in range(0,100):

sum += (i+1)

print(sum)

执行结果

5050

29、元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,将小于 66 的值保存至第二个 key 的值中。 即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}

dict1={"k1":[],"k2":[]}

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

for i in ll:

if i>66:

dict1["k1"].append(i)

else:

dict1["k2"].append(i)

print(dict1)

30、购物车

功能要求:

要求用户输入总资产,例如:2000 显示商品列表,让用户根据序号选择商品,加入购物车 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

goods = [

{"name": "电脑", "price": 1999},

{"name": "鼠标", "price": 10},

{"name": "游艇", "price": 20},

{"name": "美女", "price": 998},

]

buyCar=[]

money=0

flag=True

sum=0

while flag:

temp=input("请输入总资产:")

if len(temp)==0 or not temp.isdigit():continue

money+=int(temp)

while flag:

for k,v in enumerate(goods):

print("编号:%s 名称:%s 价格:%s"%(k,v["name"],v["price"]))

psn=input("请输入要购买的商品序号")

if len(psn)==0 or not psn.isdigit() or int(psn)>len(goods):continue

psn=int(psn)

if goods[psn]["price"]>money:

print("帐户余额不足,请充值后再购买")

break

buyCar.append(goods[psn])

money-=goods[psn]["price"]

print("您购已购买的商品有:")

for k,v in enumerate(buyCar):

print("商品名:",v["name"],"价格:",v["price"])

sum+=v["price"]

print("总价:%s元"%(sum),"您的余额还剩%s元"%(money))

while flag:

answer=input("是否继续购买? Y/N:")

if answer in ["y","Y"]:

break

elif answer in ["n","N"]:

flag=False

else:

continue

print()

python 全栈基础作业题的更多相关文章

  1. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  2. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  3. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  4. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

  5. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  6. Python全栈之路目录结构

    基础 1.Python全栈之路-----基础篇 2.Python全栈之路---运算符与基本的数据结构 3.Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数 4.Python全栈 ...

  7. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  8. 战争热诚的python全栈开发之路

    从学习python开始,一直是自己摸索,但是时间不等人啊,所以自己为了节省时间,决定报个班系统学习,下面整理的文章都是自己学习后,认为重要的需要弄懂的知识点,做出链接,一方面是为了自己找的话方便,一方 ...

  9. python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)

    python全栈开发笔记第二模块 第四章 :常用模块(第二部分)     一.os 模块的 详解 1.os.getcwd()    :得到当前工作目录,即当前python解释器所在目录路径 impor ...

随机推荐

  1. [转]VS2010中使用模块定义文件(.def)

    都知道在写DLL的时候,使用模块定义文件(.def)可以防止DLL里的命名变更. vc6.0中只要在当前目录下添加.def文件,然后编译就Ok了 但在vs2010里这样做是不可以的,必须在项目--属性 ...

  2. Java 判断某一天是这一年的第几天

    package Day8_06; import java.util.*; public class ClassTest { public static void main(String[] args) ...

  3. 1006 Sign In and Sign Out (25)(25 分)思路:普通的时间比较题。。。

    1006 Sign In and Sign Out (25)(25 分) At the beginning of every day, the first person who signs in th ...

  4. POJ 3684 Physics Experiment(弹性碰撞)

    Physics Experiment Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2936   Accepted: 104 ...

  5. Hadoop Map/Reduce的工作流

    问题描述 我们的数据分析平台是单一的Map/Reduce过程,由于半年来不断地增加需求,导致了问题已经不是那么地简单,特别是在Reduce阶段,一些大对象会常驻内存.因此越来越顶不住压力了,当前内存问 ...

  6. 【BZOJ】1008: [HNOI2008]越狱(组合数学)

    题目 题目描述 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 输入输出格式 ...

  7. [lua]判断nginx收到的是否json

    local post_data = ngx.req.get_body_data() --[[ngx.log(ngx.ERR, 'post data:', post_data)]] local ok, ...

  8. OpenStack--Cinder(G版)中的volume type

    一.volume type的相关操作 Cinder中的卷类型,是卷的一种标识,各个OpenStack的发行者可根据自身对系统的约束来定义卷类型的使用.G版的Cinder中与卷类型相关的两种资源:typ ...

  9. apache DOCUMENT_ROOT

    问题描述:本地页面错误,+1上正常 本地及+1apache配置 <VirtualHost *:> ServerAdmin webmaster@dummy-host.example.com ...

  10. [Z]CiteSeer统计的计算机领域的期刊和会议的影响因子

    稍微有点早,04年的,但很全 http://emuch.net/html/200510/128286.html 另附一个不明来路的排名:http://www.wi2.uni-erlangen.de/_ ...