基础练习

口述题
1.分别解释"=","==","+="的含义。

= 是赋值语句 把一个值赋值给另一个值
== 是判断语句 判断两个值是否相等
+= 是赋值语句 a+=1 等价于 a=a+1

2.两个变量的关系?
n1=123456
n2=n1

把123456赋值给变量n1,把n2赋值给n1,n1,n2共同指向123456这个地址

3.请写出“路飞学城”分别用utf-8和gbk编码所占的位数

一个中文用utf-8表示占3个字节,用gbk表示占2个字节
“路飞学城”用utf-8表示占12个字节,用gbk表示占8个字节
一个字节相当于8位 12个字节相当于96位 8个字节相当于64位

4. 简述Python中的几种数据类型

数据类型:基本数据类型和数据集
基本数据类型:数字、字符串、布尔
数据集:列表、元组、字典、集合

5. 数据类型的可变与不可变分别有哪些?

可变数据类型:列表、字典value、集合
不可变数据类型:数字、字符串、元组、字典key

6.元祖,列表,字典有没有长度的限制?

 没有,根据内存大小定义

7. 解释‘and‘,‘or‘,‘not‘

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,int32位最多只有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
python3默认编码是unicode

15.集合的特性

 确定性:元素必须可以hash。互异性:元素不可相同。无序性。

编程题
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"))
print(li[-3:])
View Code

17.对字典进行增删改查
{"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}

dict={"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
#
dict["boss"]="alex"
print(dict)#
dict.pop("OP")
# del dict["OP"]
print(dict)
#
dict["OP"]="基佬"
print(dict)
#
find= dict.get("UI")
print(find)
View Code

18.计算1+2+3...+98+99+100

count=0
for i in range(1,101):count+=i
print(count)count=0
i=1
while i<101:count+=iprint(count)i+=1
View Code

19. 制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
如:敬爱可爱的xxx,最喜欢在xxx地方干xxx

user_name = input("请输入你的名字:")
user_place = input("请输入你的地点:")
user_hobby = input("请输入你的爱好:")
print("敬爱的可爱的%s,最喜欢在%s地方干%s" % (user_name, user_place, user_hobby))
View Code

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

count = 0
while count < 3:username = input("请输入你的名字:")passwd = input("请输入你的密码:")if username == "seven" or username == "alex":if passwd == "123":print("恭喜你,登入成功")breakelse:print("用户名或密码不正确,登入失败")continueelse:print("登入失败")count +=1
View Code

21.切割字符串"luffycity"为"luffy","city"

L="luffycity"
print(L[0:5])
print(L[5:])
View Code

22.猜年龄游戏

age=23
count=0
while count<3:guess_age=int(input("你要输入的年龄是:"))if guess_age == age:print("恭喜你,猜对了")breakelif guess_age < age:print("猜小了")else:print("猜大了")count += 1

23.求1~100间所有偶数的和(亦可奇数和,使用while循环写)

count=0
i=0
while count<=100:if count%2==0:i+=countprint(i)count += 1
print(i)
View Code

24.从键盘接收一百分制成绩(0~100),要求输出其对应的成绩等级A~E。
其中,90分以上为‘A‘,80~89分为‘B‘,70~79分为‘C‘,60~69分为‘D‘, 60分以下为‘E‘。

while True:user_grade=int(input(">>:"))if user_grade >=90 and user_grade<=100:print("A")elif user_grade>=80 and user_grade<=89:print("B")elif user_grade >= 70 and user_grade <= 79:print ("C")elif user_grade>=60 and user_grade<=69:print("D")else:print("E")
View Code

25.输入一年份,判断该年份是否是闰年并输出结果。(该程序可以重复使用 使用while True)
注:凡符合下面两个条件之一的年份是闰年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。

while True:user_year=int(input(">>:"))if user_year%4==0 and user_year%100!=0:print("该年是闰年")elif user_year%400==0:print ("该年是闰年")else:print("该年不是闰年")
View Code

26.有如下字符串:n = "路飞学城"
- 将字符串转换成utf-8的字符编码,再将转换的字节重新转换为utf-8的字符编码
- 将字符串转换成gbk的字符编码,再将转换的字节重新转换为utf-8的字符编码

 

n = "路飞学城"
n1 = n.encode(encoding='utf-8')
print(n1)
n2 = n1.decode(encoding='utf-8')
print(n2)
n3 = n.encode(encoding='gbk')
print(n3)
n4 = n3.decode(encoding='gbk')
print(n4)
n5 = n4.encode(encoding='utf-8')
print(n5)
n6 = n5.decode(encoding='utf-8')
print(n6)
View Code

 

27.将列表[‘alex‘, ‘steven‘, ‘egon‘] 中的每一个元素使用 ‘\_’ 连接为一个字符串

li=["alex","steven","egon"]
# s=("\_").join(li)
# print(s)
print(("\_").join(li))
View Code

28.自定义两个,并求交集,合集,差集。

a1 ={3,4,5,6}
a2 ={1,2,3,4}
b=a1|a2  #并集
print(b)
c = a1-a2  #差集
print(c)
j = a1&a2  #交集
print(j)
View Code

29.求100以内不能被3整除的所有数,并把这些数字放在列表sum3=[]里,并求出这些数字的总和和平均数。(计算的时候告诉学员,sum是一个关键词,不能当作变量)

sum3=[]
sums=0
count=0
while count<=100:if count%3!=0:sum3.append(count)sums+=countcount+=1
print(sums)
print(sum3)
print(sums/len(sum3))
View Code

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])
View Code

31.假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?

money=10000
years=0
while money<20000:years+=1money=money*(1+0.0325)
print(str(years)+"年以后,存款能连本带息能翻番")
View Code

32.对列表进行增删改查(查可以是索引,值是否存在列表当中)。

[‘alex‘, ‘egon‘, ‘wusir‘, ‘wen‘, ‘jing‘]

li=['alex','egon','wusir','wen','jin']
增
li.append('wulei')
print(li)
删
li.pop()
print(li)del li[-1]
print(li)li.remove('alex')
print(li)
改
li[1]="heihei"
print(li)
查
L=li.index('alex')
print(L)

33.猜数游戏。预设一个0~9之间的整数,让用户猜一猜并输入所猜的数,如果大于预设的数,显示“太大”;小于预设的数,显示“太小”,如此循环,直至猜中该数,显示“恭喜!你猜中了!

the_number = 9
while True:user_guess = input("猜猜 年龄>>:")if user_guess.isdigit() is True:if the_number ==int(user_guess):print("祝贺")breakelif int(user_guess) >the_number:print("太大")else:print("太小 ")
View Code

34.编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。

number1 = int(input("请输入一个数字>>>:"))
number2 = int(input("请输入一个数字>>>:"))
if number1>number2:print(number1)
else:print(number2)
View Code 

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 +index3if num not in nums:nums.append(num)
print(nums)
print(len(nums))
View Code

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)
View Code

37.求100以内的素数和。

for i in range(1,100):a =1for j in range(int(i/2)):if (1+i)%(2+j) ==0:a =0breakif a == 1:print(i+1)
View Code

38.二进制,十进制,十六进制互相转换(计算题,让学员使用计算器,别用编程的内置方法) 

1 十进制转二进制:bin ()
2 十进制转十六进制:hex ()
3 十进制转八进制:oct ()
4 二进制转10进制:如1010: 相当于8 + 2 = 10
5 十六进制转二进制:如0x9a: 相当于10011010
6 再转10进制就是对应
7     1       1    1     1     1    1    1    1
8     128    64    32    16    8    4    2    1
9     10011010 = 128 + 16 + 8 + 2 = 154
View Code

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 = int(input("企业利润是:"))if money<=100000:print("奖级金为:%s"%(money*10/100))elif money>100000 and money<=200000:print("奖励金为:%s"%((money-100000)*7.5/100+100000*10/100))elif money>200000 and money<=400000:print("奖励金为:%s"%((money-200000)*5/100))elif money>400000 and money<=600000:print("奖励金为:%s"%((money-400000)*3/100))elif money>600000 and money<=1000000:print("奖励金为:%s"%((money-600000)*1.5/100))elif money > 1000000:print("奖励金为:%s" %( (money-1000000)*1/100))
View Code

 

 

转载于:https://www.cnblogs.com/xfxing/p/9036455.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

求大神解决下这个题目!做好请发到308960728@qq.com

RIP动态路由配置RIP是使用最广泛的距离向量协议&#xff0c;通过本次配置来理解RIP协议的传播、分析、挑选路由&#xff0c;来实现路由发现、路由选择、路由切换等功能&#xff0c;掌握RIP动态路由信息协议的配置方法。1.RIP配置环境与网络拓扑结构图实验设备&#xff1a;3台CI…

elastic search java_在 Java 应用程序中使用 Elasticsearch

如果您使用过 Apache Lucene 或 Apache Solr&#xff0c;就会知道它们的使用体验非常有趣。尤其在您需要扩展基于 Lucene 或 Solr 的解决方案时&#xff0c;您就会了解 Elasticsearch 项目背后的动机。Elasticsearch(构建于 Lucene 之上)在一个容易管理的包中提供了高性能的全文…

PostgreSQL增强版命令行客户端(pgcli)

效果&#xff1a; 安装&#xff1a; https://www.pgcli.com/install 官网&#xff1a; https://www.pgcli.com/ 转载于:https://www.cnblogs.com/EasonJim/p/9042418.html

网络设备的注册与初始化

2019独角兽企业重金招聘Python工程师标准>>> NIC可用之前&#xff0c;其相关联的net_device数据结构必须先初始化&#xff0c;添加到内核网络设备数据库、配置并开启。不要把注册/除名以及开启/关闭混淆是十分重要的&#xff0c;这是两种不同的概念&#xff1a; 如果…

[转]敏捷开发中编写高质量Java代码

本文转自&#xff1a;http://dev.yesky.com/103/11164603.shtml 敏捷开发的理念已经流行了很长的时间&#xff0c;在敏捷开发中的开发迭代阶段中&#xff0c;我们可以通过五个步骤&#xff0c;来有效的提高整个项目的代码质量。 Java项目开发过程中&#xff0c;由于开发人员的…

ios3怎么取消长按弹出菜单_苹果:iOS13取消3D-Touch重压改为长按只是个BUG~

原标题&#xff1a;苹果&#xff1a;iOS13取消3D-Touch重压改为长按只是个BUG~目前iOS 13中3D-Touch功能在桌面级菜单采用的是类似iPhone XR的触觉感应(Haptic touch)&#xff0c;用户只需要长按App图标即可呼出菜单&#xff0c;继续长按则会出现删除应用的抖动界面。不同于以往…

设△ABC的内角A,B,C,所对的边分别为a,b,c,且acosB-bcosA=3/5c,则tan(A-B)的最大值为

设△ABC的内角A,B,C,所对的边分别为a,b,c,且acosB-bcosA3/5c,则tan(A-B)的最大值为 转载于:https://www.cnblogs.com/Mary-Sue/p/9048289.html

BGP笔记1

1、BGP属于EGP&#xff0c;是高级DV协议&#xff0c;也被称为路径矢量协议&#xff0c;基于TCP 179端口。 2、现在使用版本BGP-4。 3、第一次做完整更新&#xff0c;以后就只增量更新 4、Autonomous Systems&#xff1a;运行同一种选路策略&#xff0c;由统一管理者管理。 1&am…

也说读书

记得当年毕业前夕&#xff0c;一位教授说&#xff1a;“希望你们毕业后&#xff0c;能坚持每年读10本书。”当时不以为然&#xff0c;区区十本&#xff0c;岂非小菜&#xff01;毕业后&#xff0c;迫于生计&#xff0c;东奔西走&#xff0c;很难静心读书&#xff0c;偶尔拿起书…

C# 巧用anchor和dock设计复杂界面(控件随着窗体大小的变化而变化)【转】

这个在做winform程序的空间编程的时候遇到过太多次了&#xff0c;自己也想留下点经验&#xff0c;搜索了一下&#xff0c;这篇文章很好很强大了&#xff0c;感谢博主“驴子的菜园”。 程序界面如上 各部分简要说明&#xff1a; 整个窗体上覆盖一个splitcontainer。 splitcontai…

mysql内链接与交叉连接_SQLServer 2008中的交叉连接与内部连接

这里是交叉连接和内部连接的最佳示例。考虑下表表&#xff1a;Teacherx------------------------x| TchrId | TeacherName |x----------|-------------x| T1 | Mary || T2 | Jim |x------------------------x表&#xff1a;Studentx-------------…

jmeter java接口_JMeter接口Java开发五步曲

想做jmeter接口二次开发但不知道如何入手&#xff0c;要解决这个问题&#xff0c;我们可以分为5个步骤第一步&#xff1a;了解jmeter处理java请求的流程第二步&#xff1a;通过实现jmeter中的接口JavaSamplerClient编写自定义JAVA接口第三步&#xff1a;打包第四步&#xff1a;…

@ConfigurationProperties和@Value不同的使用场景,@Bean添加组件 (6.spring boot配置文件注入)...

接上文 注释掉ConfigurationProperties使用Value注解 /*** <bean class"Person">* <property name"lastName" value"字面量/${key}从环境变量、配置文件中获取值/#{spel}"></property>* <bean/>*/ //Spring底层注解…

java继承孙子类_Java:类与继承

Java&#xff1a;类与继承对于面向对象的程序设计语言来说&#xff0c;类毫无疑问是其最重要的基础。抽象、封装、继承、多态 这四大特性都离不开类&#xff0c;只有存在类&#xff0c;才能体现面向对象编程的特点&#xff0c;今天我们就来了解一些类与继承的相关知识。首先&am…

P2787 语文1(chin1)- 理理思维

题目背景 蒟蒻HansBug在语文考场上&#xff0c;挠了无数次的头&#xff0c;可脑子里还是一片空白。 题目描述 考试开始了&#xff0c;可是蒟蒻HansBug脑中还是一片空白。哦不&#xff01;准确的说是乱七八糟的。现在首要任务就是帮蒟蒻HansBug理理思维。假设HansBug的思维是一长…

使用jstree创建无限分级的树(ajax动态创建子节点)

首先来看一下效果 页面加载之初 节点全部展开后 首先数据库的表结构如下 其中Id为主键,PId为关联到自身的外键 两个字段均为GUID形式 层级关系主要靠这两个字段维护 其次需要有一个类型 public class MenuType{public Guid Id { get; set; }public Guid PId { get; set; }publi…

排序算法杂谈(三) —— 归并排序的非递归实现

1. 递归 在众多排序算法中&#xff0c;归并排序&#xff08;Merge Sort&#xff09;和快速排序&#xff08;Quick Sort&#xff09;都是时间复杂度为 O(nlog2n) 的高效排序。 这两种排序有一种共性&#xff0c;就是运用到了递归的思想。 在程序设计中&#xff0c;递归是一个很有…

【Canal源码分析】Sink及Store工作过程

一、序列图 二、源码分析 2.1 Sink Sink阶段所做的事情&#xff0c;就是根据一定的规则&#xff0c;对binlog数据进行一定的过滤。我们之前跟踪过parser过程的代码&#xff0c;发现在parser完成后&#xff0c;会把数据放到一个环形队列TransactionBuffer中&#xff0c;也就是这…

博客园修改页面显示样式css

博客园修改页面显示样式css 一、总结 二、 博客园修改页面显示样式css 1、点管理 2、点设置 3、在页面定制css代码中加入你想要改变样式的css代码即可 不会写css的下面有代码示例&#xff0c;直接复制粘贴放到页面定制css代码位置即可 三、代码 1 #cnblogs_post_body h3 {2 …

基准测试 ApacheBench ab学习

2019独角兽企业重金招聘Python工程师标准>>> ab的全称是ApacheBench&#xff0c;是 Apache 附带的一个小工具&#xff0c;专门用于 HTTP Server 的benchmark testing&#xff0c;可以同时模拟多个并发请求。前段时间看到公司的开发人员也在用它作一些测试&#xff0…