python 路飞模块一考核总结
1. 分别解释"=","==","+="的含义(口述)
=为赋值语句,把一个变量值赋予另一个值
== 为条件判断,判断两个值是否相等
+= 为赋值 a+=1 意思就是a=a+1
2.两个变量值的关系?(口述)
n1 = 123456
n2 = n1
将123456赋予n1, 然后将n1赋予n2, 意思就是n1 n2指向123456这个地址
3. 请写出 “战争热诚” 分别用 utf-8 和 gbk 编码所占的位数(口述)
一个中文用utf-8 表示占3字节 GBK占2字节
所以战争热诚用utf-8表示占12字节 GBK占8字节
其中12字节相当于96位 8字节64位
4. 简述Python中的几种数据类型(口述)
数据类型分为:基本类型、数据集。
基本类型包括:数字类型(整形、长整型、浮点型、复数)、字符串类型(文本str,字节bytes)、布尔类型(True/Fals)。
数据集类型包括:列表、元祖、字典、集合。
总体来说,数据类型分为数字,字符串,列表,字典,元祖,布尔,集合
5. 数据类型的可变与不可变分别有哪些?(口述)
可变:字符串、列表、集合、字典value
不可变:数字、字符串、布尔、元祖、字典key
6.元祖,列表,字典有没有长度的限制?(口述)
没有,根据内存大小定义。
7. 解释'and','or','not'(口述)
和C语音的与或非类似,and,or,not都为逻辑运算符
and表示两者都为TRUE,则为TRUE
or表示两者有一个判断为布尔TRUE 则结果为TRUE 反之则False
not 表示取反 如x为True,not x 则为False
8. 元组和列表的区别(口述)
元组又叫只读列表,不可改变,且无序。
元祖本身不可变,但是元祖中还包含其他可变元素,这些可变元素可以改变
列表有序,并且可以修改。
9.列举一堆布尔值为False的情况(口述)
空列表 [],
空字典{},
空元祖(),
空字符串“”
0
10.python2和python3对于long(长整形)的区别。
python2中有整形int和long,int 32位系统最多只有32位,超出32位则为long。64位系统为64位。
python3中全部为int。
long在python中没有指定位宽。
11.变量命名规范 ?(口述)
首字母不能是数字,并且变量名只能含有英文,数字,和下划线_
1.变量名只能是 字母、数字或下划线的任意组合。
2.变量名的第一个字符不能是数字。
3.关键字不能声明为变量名。
变量名不要过长,最好不要使用中文和拼音,还有不能乱起变量名,比如名不搭意。
12.阐述一下unicode和utf-8的区别(或者unicode在python3的作用)(口述)
unicode又叫万国码,涵盖全世界的编码,所有字符和符号最少由16位(2个字节)表示,和别的编码有对应映射关系。
utf-8对unicode进行了优化,uft-8对于英文只占用1个字节,欧洲字符2个字节,东亚字符3个字节,特殊字符4个字节。
在python3中默认在内存存储代码的形式就是unicode,为了方便不同国家的人查看代码。
13.深浅copy-引用和copy(),deepcopy()的区别(口述)
1.引用赋值的时候,指向同一个列表地址,如果a列表重新赋予别的列表,b还是指向之前的地址,b列表不改变,
如果a列表里的值改变,那么b也会跟着改变。
2.当使用copy()的时候,相当于整个列表包括里面的东西一起完整拷贝给你,不是指向同一个地址,
a里面的值改变,b列表不跟着改变。但是如果a列表是嵌套列表,嵌套列表里的值发生变化,
拷贝的列表b里的嵌套列表也会跟着改变,因为列表里的列表是指向同一个地址,相当于1.的情况
3.使用deepcopy()的话,列表里的数地址也会不一样,所以改变列表a里的嵌套列表的数,b也不会跟着改变。 总结:浅拷贝,只拷贝顶级的对象,或者说父级对象
深拷贝,拷贝所有的对象,顶级对象及其嵌套对象,或者说父级对象及其子对象
14.python2和python3的默认字符编码(口述)
python2默认字符编码是ASCII,文件编码也是ASCII
python3默认字符串编码是unicode,文件编码是utf-8
15.集合的特性(口述)
确定性:元素必须可以hash。互异性:元素不可相同。无序性。
16.列表['alex','egon','yuan','wusir','666'](编程)
1.把666替换成999
2.获取"yuan"索引
3.假设不知道前面有几个元素,分片得到最后的三个元素
16.列表['alex','egon','yuan','wusir','666'](编程) 1.把666替换成999
2.获取"yuan"索引
3.假设不知道前面有几个元素,分片得到最后的三个元素 li =['alex','egon','yuan','wusir','666']
li[-1] = '999'
print(li)
print(li.index('yuan'))
last3 = li[-3:]
print(last3)
17.对字典进行增删改查(编程)
{"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
dic = {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
#增
dic['manage']='alex'
print(dic)
#删
del dic['Development']
print(dic)
#改
dic['manage'] = 'oldboys'
print(dic)
#查看
find = dic.get("UI")
print(find)
18.计算1+2+3...+98+99+100 (编程题)
#18.计算1+2+3...+98+99+100 (编程题)
# count = 1
# counts =0
# while count<=100:
# counts=count+counts
# print(counts)
# count +=1
count =0
for i in range(1,101):
count = count+i
print(count)
19. 制作趣味模板程序(编程题)
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
如:敬爱可爱的xxx,最喜欢在xxx地方干xxx
# 19. 制作趣味模板程序(编程题)
# 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
# 如:敬爱可爱的xxx,最喜欢在xxx地方干xxx
#
username = input("请输入名字>>")
userpalce = input("请输入地点>>")
userhobby = input("请输入爱好>>")
print("敬爱可爱的%s,最喜欢在%s地方干%s"%(username,userpalce,userhobby))
20.写一个三次认证(编程)
实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
# 20.写一个三次认证(编程)
# 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,
# 否则登陆失败,失败时允许重复输入三次
# _username1 = 'seven'
_username2 = 'alex'
_password = '123' count =0
while count<3:
username = input("名字>>")
password = input("密码>>")
if (username==_username1 or username==_username2) and password ==_password:
print("登陆成功")
break
else:
print("登陆失败")
count+=1
21.切割字符串"luffycity"为"luffy","city"(编程)
# 21.切割字符串"luffycity"为"luffy","city"(编程)
info = "luffycity"
print(info[0:5])
print(info[5:])
22.猜年龄游戏(编程题)
# 22.猜年龄游戏(编程题)
age =20
count = 0
while count<3:
user_age = input("请输入年龄>>")
if user_age.isdigit() is True:
if age == int(user_age):
print("恭喜")
break
elif int(user_age) >age:
print("猜大了,请重试")
else:
print("猜小了,再试试")
else:
print("请输入数字")
pass
count+=1
23.求1~100间所有偶数的和(亦可奇数和,使用while循环写)(编程题)。
# 23.求1~100间所有偶数的和(亦可奇数和,使用while循环写)(编程题)。
count =0
sumn=0
while count<=100:
if count%2==0:
sumn =count+sumn
count+=1
print(sumn)
24.从键盘接收一百分制成绩(0~100),要求输出其对应的成绩等级A~E。其中,90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。(编程题)
# 24.从键盘接收一百分制成绩(0~100),要求输出其对应的成绩等级A~E。
# 其中,90分以上为'A',80~89分为'B',
# 70~79分为'C',60~69分为'D',
# 60分以下为'E'。(编程题) usergrade = input("请输入成绩>>")
if usergrade.isdigit() is True:
if int(usergrade)>=90:
print("A")
elif int(usergrade)>=80:
print("B")
elif int(usergrade)>=70:
print("C")
elif int(usergrade)>=60:
print("D")
else:
print("E")
else:
print("请输入数字")
pass
25.输入一年份,判断该年份是否是闰年并输出结果。(该程序可以重复使用 使用while True)(编程题)
注:凡符合下面两个条件之一的年份是闰年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。
# 25.输入一年份,判断该年份是否是闰年并输出结果。(该程序可以重复使用 使用while True)(编程题)
# 注:凡符合下面两个条件之一的年份是闰年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。
# while True:
year_input = input("请输入年份>>")
if year_input.isdigit() is True:
if (int(year_input)%4 ==0 and int(year_input)%100!=0) or int(year_input)%400==0:
print("闰年")
else:
print("平年")
elif year_input == 'q':
break
else:
pass
26.有如下字符串:n = "路飞学城"(编程题)
- 将字符串转换成utf-8的字符编码,再将转换的字节重新转换为utf-8的字符编码
- 将字符串转换成gbk的字符编码,再将转换的字节重新转换为utf-8的字符编码
# 26.有如下字符串:n = "路飞学城"(编程题)
#
# - 将字符串转换成utf-8的字符编码,再将转换的字节重新转换为utf-8的字符编码
# - 将字符串转换成gbk的字符编码,再将转换的字节重新转换为utf-8的字符编码
#
n = "路飞学城"
n8 = n.encode(encoding='utf-8')
print("转码为utf8>>%s"%n8)
n9 = n8.decode(encoding='utf-8')
print("解码为utf8>>%s"%n9)
ngbk = n.encode(encoding='gbk')
print(ngbk)
ndgbk = ngbk.decode(encoding='gbk')
print(ndgbk)
n9 = ndgbk.encode(encoding='utf-8')
print(n9)
27.将列表['alex', 'steven', 'egon'] 中的每一个元素使用 ‘\_’ 连接为一个字符串(编程)
# 27.将列表['alex', 'steven', 'egon'] 中的每一个元素使用 ‘\_’ 连接为一个字符串(编程)
#
li =['alex', 'steven', 'egon']
# a = ("\_").join(li)
# print(a)
s ='\_'
print(s.join(li))
28.自定义两个,并求交集,合集,差集。(编程)
a1 ={3,4,5,6}
a2 ={1,2,3,4}
jiao =a1|a2
print(jiao)
cha = a1-a2
print(cha)
bing = a1&a2
print(bing)
29.求100以内不能被3整除的所有数,并把这些数字放在列表sum3=[]里,并求出这些数字的总和和平均数。(计算的时候告诉学员,sum是一个关键词,不能当作变量)(编程)
# 29.求100以内不能被3整除的所有数,并把这些数字放在列表sum3=[]里,
# 并求出这些数字的总和和平均数。(计算的时候告诉学员,sum是一个关键词,不能当作变量)(编程)
sum3 =[]
count =0
sums =0
while count<=100:
if count%3!=0:
sum3.append(count)
sums =sums+count
count+=1
print(sums)
print(sum3)
print(sums/len(sum3))
30.根据字典内容打印出下面的形式(编程)
可以不打印工整对齐的效果,主要是让学员获取key和value。
{"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
效果如下:
1. 删除了UI
2. 修改了Operate
```
Development --- 开发小哥
OP --- 运维小哥
Operate --- 小仙女
```
# 30.根据字典内容打印出下面的形式(编程)
# 可以不打印工整对齐的效果,主要是让学员获取key和value。
# {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
# 效果如下:
# 1. 删除了UI
# 2. 修改了Operate
#
# ```
# Development --- 开发小哥
# OP --- 运维小哥
# Operate --- 小仙女
# ```
info ={"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
del info['UI']
print(info)
info["Operate"]='小仙女'
print(info)
# for items in info.items():
# print(items)
for i in info:
print(i+'----------'+info[i])
31.假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?(编程题)
# 31.假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?(编程题)
money = 10000
money = 10000
interest = money
count = 0
while True:
count += 1
interest = interest * (1 + 3.25 / 100)
if interest // money == 2:
print(count)
break money =10000
rate = 0.0324
years =0
while money<20000:
years+=1
money =money*(1+rate)
print(years)
32.对列表进行增删改查(查可以是索引,值是否存在列表当中)。(编程)
['alex', 'egon', 'wusir', 'wen', 'jing']
# 32.对列表进行增删改查(查可以是索引,值是否存在列表当中)。(编程)
#
# ['alex', 'egon', 'wusir', 'wen', 'jing']
li =['alex', 'egon', 'wusir', 'wen', 'jing']
#增
li.append('wang')
print(li)
#删
li.remove('wang')
print(li)
del li[-1]
print(li)
#改
li[1] ='eeee'
print(li)
#查
print(li.index('alex'))
33.猜数游戏。预设一个0~9之间的整数,让用户猜一猜并输入所猜的数,如果大于预设的数,显示“太大”;小于预设的数,显示“太小”,如此循环,直至猜中该数,显示“恭喜!你猜中了!(编程题)
# 33.猜数游戏。预设一个0~9之间的整数,让用户猜一猜并输入所猜的数,
# 如果大于预设的数,显示“太大”;小于预设的数,显示“太小”,
# 如此循环,直至猜中该数,显示“恭喜!你猜中了!(编程题)
the_number = 9
while 1:
user_guess = input("猜猜 年龄》》")
if user_guess.isdigit() is True:
if the_number ==int(user_guess):
print("祝贺")
break
elif int(user_guess) >the_number:
print("太大")
else:
print("太小 ")
34.编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。(编程题)
# 34.编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。(编程题)
number1 = input("请输入一个数字》》")
number2 = input("请输入一个数字》》")
if number1.isdigit() is True and number2.isdigit() is True:
if number1>number2:
print(number1)
else:
print(number2)
else:
print("输入错误,请重输")
pass
35.有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?(编程题)
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
# 35.有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?(编程题)
# 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
# 组成所有的排列后再去 掉不满足条件的排列。
nums =[]
for index1 in range(1,5):
for index2 in range(1,5):
for index3 in range(1,5):
if index1!=index2 and index2 != index3 and index3 != index1:
num = 100*index1 +10*index2 +index3
if num not in nums:
nums.append(num)
print(nums)
print(len(nums))
36.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5, 然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。(编程题)
# 36.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,
# 加密规则如下:每位数字都加上5, 然后用和除以10的余数代替该数字,
# 再将第一位和第四位交换,第二位和第三位交换。(编程题)
data = input("输入4个数字>>")
data =list(''.join(data))
print(data)
for index,i in enumerate(data):
print(data[index])
data[index] =(int(i)+5)%10 print(data)
data.reverse()
print(data)
37.求100以内的素数和。(编程题)
# 37.求100以内的素数和。(编程题)
# 素数:素数又称质数, 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。
# 思路:1.先将1~100的数量进行遍历,获得这个数是不是素数
# 2.除以这个小的整数(除了1和本身),获得余数,根据余数判断是否是素数
for i in range(1,100):
a =1
for j in range(int(i/2)):
if (1+i)%(2+j) ==0:
a =0
break
if a ==1:
print(i+1)
38.二进制,十进制,十六进制互相转换(计算题,让学员使用计算器,别用编程的内置方法)
十进制转二进制:bin()
十进制转十六进制:hex()
十进制转八进制:oct()
二进制转10进制:如1010: 相当于8+2=10
十六进制转二进制:如0x9a:相当于10011010 再转10进制就是 对应
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1 10011010=128+16+8+2=154
39.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,
从键盘输入当月利润I,求应发放奖金总数?(编程)
while True:
money = input('利润:')
if money.isdigit() == True:
if int(money) <= 100000:
print("奖金为:%s"%(int(money)*10/100))
elif int(money) <= 200000:
print("奖金为:%s"%(((int(money)-100000)*7.5/100)+100000*10/100))
elif int(money) <= 400000:
print("奖金为:%s" % (((int(money) - 200000) * 5 / 100)))
elif int(money) <= 600000:
print("奖金为:%s" % (((int(money) - 400000) * 3/ 100)))
elif int(money) <= 1000000:
print("奖金为:%s" % (((int(money) - 600000) * 1.5/ 100)))
else :
print("奖金为:%s" % (((int(money) - 600000) * 1/ 100)))
break
else:
money = input('输入错误,请重新输入:')
python 路飞模块一考核总结的更多相关文章
- Python标准模块--threading
1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...
- Python的模块引用和查找路径
模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...
- Python Logging模块的简单使用
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- python基础-模块
一.模块介绍 ...
- python 安装模块
python安装模块的方法很多,在此仅介绍一种,不需要安装其他附带的pip等,python安装完之后,配置环境变量,我由于中英文分号原因,环境变量始终没能配置成功汗. 1:下载模块的压缩文件解压到任意 ...
- python Queue模块
先看一个很简单的例子 #coding:utf8 import Queue #queue是队列的意思 q=Queue.Queue(maxsize=10) #创建一个queue对象 for i in ra ...
- python logging模块可能会令人困惑的地方
python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...
- Python引用模块和查找模块路径
模块间相互独立相互引用是任何一种编程语言的基础能力.对于"模块"这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译 ...
随机推荐
- Kafka集群的搭建
Kafka集群的搭建 node1 node2 node3 kafka须用版本(kafka-0.8.2.2),否则不兼容spark1.6 1.启动zookeeper集群node1 node2 ...
- 学习JVM-GC收集器
1. 前言 在上一篇文章中,介绍了JVM中垃圾回收的原理和算法.介绍了通过引用计数和对象可达性分析的算法来筛选出已经没有使用的对象,然后介绍了垃圾收集器中使用的三种收集算法:标记-清除.标记-整理.标 ...
- php(ThinkPHP)实现微信小程序的登录过程
源码也在我的github中给出 https://github.com/wulongtao/think-wxminihelper 下面结合thinkPHP框架来实现以下微信小程序的登录流程,这些流程是结 ...
- PHP 常用的header头部定义汇总
http://www.jb51.net/article/68159.htm
- 小白的Python之路 day5 hashlib模块
hashlib模块 一.概述 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 二.算法的演 ...
- CCNA -OSI七层模型
OSI (开放系统互联(Open System Interconnection)) OSI是Open System Interconnection的缩写,意为开放式系统互联.国际标准化组织(ISO)制 ...
- 无法打开物理文件 操作系统错误 5:拒绝访问 SQL Sever
今天分离附加数据库,分离出去然后再附加,没有问题.但是一把.mdf文件拷到其它文件夹下就出错,错误如下: 无法打开物理文件 "E:\db\homework.mdf".操作系统 ...
- 分布式CAP原理
根据维基百科定义[CAP] 根据定理,一个分布式系统最多只能满足其中两项, 不可能同时满则C-A-P三项 首先说一下对各项原则的理解 (1)一致性C: 单机环境下, 数据只有一份,所有的客户端访问的是 ...
- 2017-06-22(locate shutdown half poweroff init0 reboot init 6)
locate locate 文件搜索命令 格式:locate [文件名] locate 在后台数据库中(/var/lib/mlocate/mlocate.db)按文件名搜索,速度快 刚刚新建的文件, ...
- python3 第十八章 - 迭代器与生成器
1.迭代器(Iterator) 迭代是访问集合元素的一种方式 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 迭代器 ...