python全栈阶段测试(一)
1、执行Python脚本的两种方式
如果想要永久保存代码,就要用文件的方式
如果想要调试代码,就要用交互式的方式
2、Pyhton单行注释和多行注释分别用什么?
单行注释:#
多行注释: '' "" ''' ''' """ """
3、声明变量注意事项有那些?
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
关键字不能声明为变量名
4、如何查看变量在内存中的地址?
ip(变量)
5、写代码
a.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败!
while True :
name = input("please input your name:").strip()
password = input("please input your password:").strip()
if name == "seven" and password == "" :
print("登录成功!")
else :
print("登录失败!")
b.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
count = 0
while count < 3 :
name = input("please input your name:").strip()
password = input("please input your password:").strip()
if name == "seven" and password == "" :
print("登录成功!")
else :
print("登录失败!")
count +=1
c.实现用户输入用户名和密码,当用户名为seven或alex且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
count = 0
while count < 3 :
name = input("please input your name:").strip()
password = input("please input your password:").strip()
if (name == "seven" or name == "alex") and password == "" :
print("登录成功!")
else :
print("登录失败!")
count +=1
6、写代码
a.使用while循环实现输出2-3+4-5+6...+100的和
count = 2
sun = 0
while count <= 100 :
if count % 2 == 0 :
sun += count
else :
sun -= count
count += 1
print(sun)
b.使用for循环和range实现输出1-2+3-4+5-6...+99的和
sum = 0
for i in range(1,100) :
if i % 2 == 1 :
sum += i
else :
sum -= i
print(sum)
c.使用while循环实现输出1,2,3,4,5,7,8,9,11,12
count = 1
while count <= 12 :
if not (count == 6 or count == 10) :
print(count)
count += 1
d.使用while循环实现输出1-100内的所有奇数
count = 1
while count <= 100 :
print(count)
count += 2
e.使用while循环实现输出1-100内的所有偶数
count = 2
while count <= 100 :
print(count)
count += 2
7、分别书写数字5,10,32,7的二进制表示
5:00000101
10:00001010
32:00100000
7:00000111
8、现有如下两个变量,请简述n1和n2是什么关系?
n1=123
n2=123
n1和n2 id相同值相同 因为它们值太小python会进行优化在内存空间中开辟一个小数值存放池
9、现有如下两个变量,请简述n1和n2是什么关系?
n1=123456
n2=123456
n1和n2 id不相同值相同 n1,n2指向不同的内存空间
10、现有如下两个变量,请简述n1和n2是什么关系?
n1=123456
n2=n1
n1和n2 id相同值相同 n1,n2指向同一个内存空间
11、如有以下变量n1=5,请使用int的提供的方法,得到该变量少可以用多少个二进制位表示?
n1=5
print(n1.bit_length())
12、布尔值分别有什么?
True
Fales
13、阅读代码,请写出执行结果
# a="alex"
# b=a.capitalize()
# print(a)
# print(b)
# 请写出输出结果:
alex
Alex
14、写代码,有如下变量,请按照要求实现每个功能
name="aleX"
#a.移除name变量对应的值两边的空格,并输入移除有的内容
print(name.strip())
#b.判断name变量对应的值是否以"al"开头,并输出结果
print(name.startswith("al"))
#c.判断name变量对应的值是否以"X"结尾,并输出结果
print(name.endswith("X"))
#d.将name变量对应的值中的“l”替换为“p”,并输出结果
print(name.replace("l","p"))
#e.将name变量对应的值根据“l”分割,并输出结果。
print(name.split("l"))
#f.请问,上一题e分割之后得到值是什么类型?
# 列表类型
#g.将name变量对应的值变大写,并输出结果
print(name.upper())
#h.将name变量对应的值变小写,并输出结果
print(name.lower())
#i.请输出name变量对应的值的第2个字符?
print(name[1])
#j.请输出name变量对应的值的前3个字符?
print(name[0:3])
#k.请输出name变量对应的值的后2个字符?
print(name[-2:])
#l.请输出name变量对应的值中“e”所在索引位置?
print(name.find("e"))
15、字符串是否可迭代?如可以请使用for循环每一个元素?
# 可以
name = "aleX"
for i in name :
print(i)
16、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain']
li = ['alex','eric','rain']
print("_".join(li))
17、写代码,有如下列表,按照要求实现每一个功能
li = ['alex','eric','rain']
#a.计算列表长度并输出
print(len(li))
#b.列表中追加元素“seven”,并输出添加后的列表
li.append("seven")
print(li)
#c.请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
li.insert(0,"Tony")
print(li)
#d.请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
li[1] = "Kelly"
print(li)
#e.请删除列表中的元素“eric”,并输出修改后的列表
li.remove("eric")
print(li)
#f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
lu = li.pop(1)
print(lu,li)
#g.请删除列表中的第3个元素,并输出删除元素后的列表
li.pop(2)
print(li)
#h.请删除列表中的第2至4个元素,并输出删除元素后的列表
li = ['alex','eric','rain','egon','lln']
li.pop(1)
li.pop(1)
li.pop(1)
print(li)
#i.请将列表所有的元素反转,并输出反转后的列表
li.reverse()
print(li)
#j.请使用for、len、range输出列表的索引
for i in range(len(li)) :
print(i)
#k.请使用enumrate输出列表元素和序号(序号从100开始)
for index,item in enumerate(li,100):
print(index, item)
#l.请使用for循环输出列表的所有元素
for i in li :
print(i)
18、写代码,有如下列表,请按照功能要求实现每一个功能
li=["hello",'seven',["mon",["h","kelly"],'all'],123,446]
#a.请输出“Kelly”
print(li[2][1][1])
#b.请使用索引找到'all'元素并将其修改为“ALL”
li[2][2] = "ALL"
print(li)
19、写代码,有如下元组,按照要求实现每一个功能
tu = ('alex','eric','rain')
#a.计算元组长度并输出
print(len(tu))
#b.获取元组的第2个元素,并输出
print(tu[1])
#c.获取元组的第1-2个元素,并输出
a,b,_ = tu
print(a,b)
#d.请使用for输出元组的元素
for i in tu :
print(i)
#e.请使用for、len、range输出元组的索引
for i in range(len(tu)) :
print(i)
#f.请使用enumrate输出元祖元素和序号(序号从10开始)
for index,item in enumerate(tu,10) :
print(index,item)
20、有如下变量,请实现要求的功能
tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
print(tu)
# a.讲述元祖的特性
#存多个值,元组不可变,主要是用来读
# b.请问tu变量中的第一个元素“alex”是否可被修改?
#不可以
# c.请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
# 列表 可以
tu[1][2]["k2"].append("Seven")
print(tu)
# d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
# 元组 不可以
21、字典
dic={'k1':"v1","k2":"v2","k3":[11, 22, 33]}
#a.请循环输出所有的key
for key in dic :
print(key)
for key in dic.keys() :
print(key)
#b.请循环输出所有的value
for key in dic :
print(dic[key])
for value in dic.values() :
print(value)
#c.请循环输出所有的key和value
for key in dic :
print(key,dic[key])
for key,value in dic.items() :
print(key,value)
#d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典
dic["k4"] = "v4"
print(dic)
#e.请在修改字典中“k1”对应的值为“alex”,输出修改后的字典
dic["k1"] = "alex"
print(dic)
#f.请在k3对应的值中追加一个元素44,输出修改后的字典
dic["k3"].append(44)
print(dic)
#g.请在k3对应的值的第1个位置插入个元素18,输出修改后的字典
dic["k3"].insert(0,18)
print(dic)
22、转换
# a.将字符串s="alex"转换成列表
s = "alex"
s = list(s)
print(s,type(s))
# b.将字符串s="alex"转换成元祖
s = tuple(s)
print(s,type(s))
# c.将元祖tu=('Alex',"seven")转换成列表
tu=('Alex',"seven")
tu = list(tu)
print(tu,type(tu))
# d.将列表li=["alex","seven"]转换成字典且字典的key按照10开始向后递增
li=["alex","seven"]
dic = {}
for key,value in enumerate(li,10):
dic.setdefault(key,value)
print(dic,type(dic))
23、求1-100内的所有数的和
num = 0
for i in range(1,101) :
num += i
print(num)
24、元素分类
#有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
#即:{'k1':大于66的所有值,'k2':小于66的所有值}
x = {"k1":[],"k2":[]}
y = [11,22,33,44,55,66,77,88,99,90]
for i in y :
if i > 66 :
x["k1"].append(i)
else :
x["k2"].append(i)
print(x)
25、购物车
# 功能要求:
# 要求用户输入总资产,例如:2000
# 显示商品列表,让用户根据序号选择商品,加入购物车
# 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
#goods = [
#{"name":"电脑","price":1999},
#{"name":"鼠标","price":10},
#{"name":"游艇","price":20},
#] goods = [
{"name":"电脑","price":1999},
{"name":"鼠标","price":10},
{"name":"游艇","price":20},
]
tag = True
shop_cart = [] #购物车
while tag :
ppt = input("please input your property:").strip()
if not ppt or not ppt.isdigit() :
continue for i,value in enumerate(goods,1) :
print(i,value["name"],value["price"]) ppt_l = 0 #总消费
while tag :
num = input("Select item number add to shop_cart:").strip()
if not num.isdigit() :
continue
elif int(num) == 1 or int(num) == 2 or int(num) == 3:
num_l = int(num)
n = goods[num_l-1]["name"]
p = goods[num_l-1]["price"]
ppt_l += p
shop_cart.append((n,p))
else :
continue
print(shop_cart) while tag :
cmd = input("Continue to buy? y/n ").strip()
if cmd == "n" or cmd =="N" :
if ppt_l > int(ppt) :
print("账户余额不足!")
else :
print("购买成功!")
tag = False
if cmd == "y" or cmd == "Y" :
break
python全栈阶段测试(一)的更多相关文章
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
- 战争热诚的python全栈开发之路
从学习python开始,一直是自己摸索,但是时间不等人啊,所以自己为了节省时间,决定报个班系统学习,下面整理的文章都是自己学习后,认为重要的需要弄懂的知识点,做出链接,一方面是为了自己找的话方便,一方 ...
- Win10构建Python全栈开发环境With WSL
目录 Win10构建Python全栈开发环境With WSL 启动WSL 总结 对<Dev on Windows with WSL>的补充 Win10构建Python全栈开发环境With ...
- 想成为Python全栈开发工程师必须掌握的技能
什么是Python全栈工程师? 即从前端页面的实现,到后台代码的编写,再到数据库的管理,一人可以搞定一个公司网站的所有事情,真正实现全栈开发. 全栈只是个概念 也分很多种类 真正的全栈工程师涵盖了we ...
- python 全栈开发,Day117(popup,Model类的继承,crm业务开发)
昨日内容回顾 第一部分:权限相关 1. 权限基本流程 用户登录成功后获取权限信息,将[权限和菜单]信息写入到session. 以后用户在来访问,在中间件中进行权限校验. 为了提升用户体验友好度,在后台 ...
- python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- python 全栈开发,Day81(博客系统个人主页,文章详情页)
一.个人主页 随笔分类 需求:查询当前站点每一个分类的名称以及对应的文章数 完成这个需求,就可以展示左侧的分类 它需要利用分组查询,那么必须要会基于双下划线的查询. 基于双下划线的查询,简单来讲,就是 ...
- python 全栈开发,Day43(python全栈11期月考题)
python全栈11期月考题 1.常用字符串格式化有哪些?并说明他们的区别 2.请手写一个单例模式(面试题) 3.利用 python 打印前一天的本地时间,格式为‘2018-01-30’(面试题) 4 ...
随机推荐
- C#实现谷歌翻译API
由于谷歌翻译官方API是付费版本,本着免费和开源的精神,分享一下用C#实现谷歌翻译API的代码.这个代码非常简单,主要分两块:通过WebRequest的方式请求内容:获取Get方式的请求参数(难点在于 ...
- shared_ptr注意点
1.原始指针不能直接使用赋值运算符对shared_ptr进行赋值运算 std::shared_ptr<int> p; p= ); //error p.reset(); //success ...
- maven无法加载本地jar包以及maven项目打包后本地jar包没有打进项目的问题解决办法
1.首先设置依赖项,这样maven就会把该路径下的jar包导入项目引用 <dependency> <groupId>DPSDK-Manager</groupId> ...
- CSS 简单了解(二)
我们第一天说了简单的HTML,第二天说了简单的CSS.那么今天.咱们就来说一说他们的结合如何使用吧! 首先说引用方式,和使用方法吧! 1.内部样式表.(放入<head>中) <hea ...
- B树和B+树的总结
B树 为什么要B树 磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动.盘片旋转就是我们市面上所提到的多少转每分钟,而磁盘移动则是在盘片旋转到指定位置以后,移动磁臂后开始进行数据的读写.那么这就存在 ...
- thinkphp 单字母函数
在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找. 1.U() URL组装 支持不同UR ...
- Oracle Job定时任务的使用详解
oracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务 .下面是一个小案例,定时每15分钟向一张表插入一条数据 一 1.创建一张测试表 -- Create table ...
- 关于MATLAB处理大数据坐标文件201762
经过头脑风暴法想出了很多特征,目前经过筛选已经提交了两次数据,数据提交结果不尽如人意,但是收获很大. 接下来继续提取特征,特征数达到27时筛选出20条特征,并找出最佳搭配
- Matlab: 路径的操作
添加相对路径 在matlab中当代码很多时常常将结果存在不同的文件夹下面,常常使用相对路径对函数进行调用,但有时会存在问题.举个栗子: 代码结构如下: /codes/A/AA/code1.m /cod ...
- jquery 表格行计算
表格行计算 总金额: function jisuanTrJinE(obj){ var curTab = $(obj).closest("table"); var curTr = $ ...