多测师讲解python_003.2练习题
# 1、分别打印100以内的所有偶数和奇数并存入不同的列表当中
# 2、请写一段Python代码实现删除一个list = [1, 3, 6, 9, 1, 8]# 里面的重复元素不能用set
# 3、将字符串类似:"k:1|k3:2|k2:9" 处理成key:value或json格式,比如{"k": "1", "k3": "2"}
# 4、把字符串user_controller转换为驼峰命名UserController大驼峰在java用作变量命名
# (前英文为大写后英文为小写) 小驼峰:作为变量命名
# 5、给一组无规律的数据从大到小或从小到大进行排序如:list = [2, 6, 9, 10, 18, 15, 1]
# 6、分析以下数字的规律, 1 1 2 3 5 8 13 21 34用Python语言编程实现输出
# #分析题目:根据规律 1+1=2 2+1=3 2+3=5 3+5=8....
# #此为斐波那契数列 (考试题非常多次题目)
# 7、如有两个list:a =['a','b','c','d','e']
# b =[1,2,3,4,5] 将a中的元素作为key b中的元素作为value,将a,b合并为字典
# 8、有如下列表,统计列表中的字符串出现的次数
# # a = ['apple','banana','apple','tomao','orange','apple','banana','watermeton']
# 9、列表推导式求出列表所有奇数并构造新列表 a =[1,2,3,4,5,6,7,8,9,10]
# 1、分别打印100以内的所有偶数和奇数并存入不同的列表当中
# o=[] #定义一个容器存放偶数
# j=[] #定义一个容器存放奇数
# a=0 #当前变量控制循环次数 0 1234567
# while a<=100:
# if a % 2 ==0: #0%2=0 1%2=1 2%2=0 3%2=1
# o.append(a)
# # 条件满足则进入执行:添加偶数
# # 否则添加奇数
# else:
# j.append(a)
# a+=1
# print(o)
# print(j)
# # 2、请写一段Python代码实现删除一个list = [1, 3, 6, 9, 1, 8]# 里面的重复元素不能用set
#方案一:
#list = [1, 3, 6, 9, 1, 8] #定义一个列表
# # # 看到列表那么你就要想到for循环遍历
# new =[] #定义一个空的列表
# for i in list: ##通过for循环遍历当前题目要求的列表
# if i not in new:
# new.append(i)
# print(new) #[1, 3, 6, 9, 8]
#
#方法二:使用字典函数
# a = [1, 3,6,9,1,8]
# b = {}
# b = b.fromkeys(a)
# c = list(b.keys())
# print( c)
#方法三:count,remove
# def delList(L):
# for i in L:
# if L.count(i) != 1:
# for x in range((L.count(i) - 1)):
# L.remove(i)
#
# return L
# print(delList([1, 3, 6, 9, 1, 8]))
# # 3、将字符串类似:"k:1|k3:2|k2:9" 处理成key:value或json格式,比如{"k": "1", "k3": "2"}
str ="k:1|k3:2|k2:9" #定义一个字符串
a =str.split("|") #将字符串中的|通过split进行分割
# print(a) #['k:1', 'k3:2', 'k2:9']返回一个列表
dic={} #定义一个空字典用来按照题目要求进行存放和拼接
for i in a: #遍历当前的列表
# print(i)
# print(type(i)) #<class 'str'>返回类型为字符串
b =i.split(":")
# print(b)
dic.setdefault(b[0],b[1]) #f返回
print(dic) #{'k': '1', 'k3': '2', 'k2': '9'}
# # 4、把字符串user_controller转换为驼峰命名UserController大驼峰在java用作变量命名
# # (前英文为大写后英文为小写) 小驼峰:作为变量命名
# str ='user_controller' #定义一个字符串
# a =str.split("_") #通过split对多余的下划线进行分割
# print(a) #['user', 'controller'] 分割后返回一个列表
# print(a[0].capitalize()+a[1].capitalize()) #UserController
# # 5、给一组无规律的数据从大到小或从小到大进行排序如:#冒泡排序
# list = [2, 6, 9, 10, 18, 15, 1]
# # 0 1 2 3 4 5 6
list = [2, 6, 9, 10, 18, 15, 1] #定义一个列表
# # 1 2 6 9 10 15 18
#方法一:
for i in range(len(list)):
for j in range(len(list)-i-1):
if list[j] > list[j+1]:
list[j],list[j+1]=list[j+1],list[j]
print (list)
print (list)
#打印结果:
[2, 6, 9, 10, 15, 18, 1]
[2, 6, 9, 10, 15, 1, 18]
[2, 6, 9, 10, 1, 15, 18]
[2, 6, 9, 1, 10, 15, 18]
[2, 6, 1, 9, 10, 15, 18]
[2, 1, 6, 9, 10, 15, 18]
[1, 2, 6, 9, 10, 15, 18]
[1, 2, 6, 9, 10, 15, 18]
#方法二:
def bubbleSort(a):#冒泡排序
n = len(a)
for i in range(n): # 遍历所有数组元素
for j in range(0, n - i - 1):
if a[j] > a[j + 1]:
a[j], a[j + 1] = a[j + 1], a[j]
a = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(a)
print("排序后的数组:")
for i in range(len(a)):
print ("%d" % a[i])
# count =len(list) #将列表中的值的位数进行统计通过len()函数
# print(count) # 7
# for i in range(count): # 0 1 2 3 4 5 6
# # # 0
# # # 1
# for j in range(i+1,count):
# # # 0+1=1 ,7
# # # 123456
# # # 1+1=2 ,7
# # # 23456
# if list[i]>list[j]:
# # # i: 0
# # # i: 1
# # # 2, 6, 9, 10, 18, 15, 1
# # # j: 1 2 3 4 5 6
# # # j: 2 3 4 5 6
# # # 2:>6>9>10>18>15> 1
# # # 6:>9>10>18>15 2
# # # 1 6 9 10 18 15 2
# # # 1 2 9 10 18 15 6
# list[i],list[j]=list[j],list[i] #赋值语法
# print(list)
# #
#
# # 6、分析以下数字的规律, 1 1 2 3 5 8 13 21 34用Python语言编程实现输出
# # #分析题目:根据规律 1+1=2 2+1=3 2+3=5 3+5=8....
# # #此为斐波那契数列 (考试题非常多次题目)
# l =[] #1 1#定义一个空的列表
# for i in range(10): #通过for循环来实现
# # i= 0 1 2 3 4 5 6 7 8 9
# if i ==0 or i ==1:
# # 1 1 2 3 5 8 13 21 34 55
# l.append(1)
# else:
# l.append(l[i-2]+l[i-1])
# # i=2 -2=0
# # l[0]+l[1]
# print(l)#[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
#
#讲解:
#斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,
# 指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)
#讲解
#递推法
##############################
# 使用`递推法`实现斐波那契数列 #
#############################
def fib_next(n):
first_number = 0
second_number = 1
for _ in range(n):
first_number, second_number = second_number, first_number+second_number
return first_number
if __name__ == '__main__':
[print(fib_next(i),end=',') for i in range(1,15)]
#生成器
def fib_generator(max):
first_number, second_number = 0, 1
while max > 0:
first_number, second_number = second_number, first_number+second_number
max -= 1
yield first_number
if __name__ == '__main__':
[print(i,end=',') for i in fib_generator(15)]
#2递归法
def fib_recursive(n):
assert n >= 0, "n must be larger than 0"
if n <= 1:
return n
return fib_recursive(n-1) + fib_recursive(n-2)
if __name__ == '__main__':
[print(fib_recursive(i),end=',') for i in range(1,15)]
# # 7、如有两个list:a =['a','b','c','d','e']
# # b =[1,2,3,4,5] 将a中的元素作为key b中的元素作为value,
# 将a,b合并为字典
#a =['a','b','c','d','e'] #定义一个列表
#b =[1,2,3,4,5] #定义一个列表
c=zip(a,b)
# zip类:可以将两个列表进行拼接,返回一个列表且列表中组合为多个元组
# [('a',1),('b',2)]
# {}
# [('a',1),('b',2)]
#print(dict(c)) #{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
#
#
# # 8、有如下列表,统计列表中的字符串出现的次数
# # # a = ['apple','banana','apple','tomao','orange','apple','banana','watermeton']
# a = ['apple','banana','apple','tomao','orange','apple','banana','watermeton']
# dic ={}
# for i in a:
# dic[i]=a.count(i)
# print(dic)
#拓展:
#方法二 2.1
# a= [1,2,5,6,7,1,1,3,4,5,5,6,7]
# b = set() #myset是另外一个列表,里面的内容是mylist里面的无重复项
# for i in a:
# print(" %s 出现 %s 次" %(i,a.count(i)))
# #方法2.2
# list = [1,2,3,4,5,4,3,7,2,8,1]
# num_count={}
# for i in list:
# if i not in num_count:
# num_count[i]=1
# else:
# num_count[i]+=1
# print(num_count)
#
# # 9、列表推导式求出列表所有奇数并构造新列表
# # a =[1,2,3,4,5,6,7,8,9,10]
# a =[1,2,3,4,5,6,7,8,9,10] # 定义一个列表
# list =[] #定义一个空的列表按照题目要求
# for i in a: #1
# if i % 2 !=0:
# list.append(i)
# print(list) #[1, 3, 5, 7, 9]
#10、列表推导式求出列表所有偶数并构造新列表
# # # a =[1,2,3,4,5,6,7,8,9,10]
# a =[1,2,3,4,5,6,7,8,9,10] # 定义一个列表
# list =[] #定义一个空的列表按照题目要求
# for i in a: #1
# if i % 2 == 0:
# list.append(i)
# print(list) #[2, 4, 6, 8, 10]
多测师讲解python_003.2练习题的更多相关文章
- 多测师讲解python _练习题003_高级讲师肖sir
python 003作业题:# 1.分别打印100以内的所有偶数和奇数并存入不同的列表当中# 2.请写一段Python代码实现删除一个list = [1, 3, 6, 9, 1, 8]# 里面的重复元 ...
- 多测师讲解——python002.2练习题
# # 作业:第二天# ## # 1.求出1 / 1 + 1 / 3 + 1 / 5--+1 / 99的和 (1分之一+1分之三+1分支5....)# # 2.用循环语句,计算2 - 10之间整数的循 ...
- 多测师讲解python _练习题002_高级讲师肖sir
# 1.求出1/1+1/3+1/5--+1/99的和 # 2.用循环语句,计算2-10之间整数的循环相乘的值. # 3.用for循环打印九九乘法表 # 4.求每个字符串中字符出现的个数如:hellow ...
- 多测师讲解自动化测试 _RF封装_(三层模式)高级讲师肖sir
rf自动化:分层作用: 1.项目----有重复的流程(借款-登录,出借-登录) 2.借款--登录(8个流程)机器人:案例层(用例)写在机器人中,1个机器人=1条用例 分三个层次: 1.案例层(存放用例 ...
- 多测师讲解自动化测试 _RF关键字001_(上)_高级讲师肖sir
讲解案例1: Open Browser http://www.baidu.com gc #打开浏览器 Maximize Browser Window #窗口最大化 sleep 2 #线程等待2秒 In ...
- 多测师讲解第一个月 _综合面试题_高级讲师肖sir
第一个月综合面试题 1. 冒烟测试是什么意思? 对主要的用例测试 2.你们公司的项目流程是什么? 3.你们公司的bug分几个级别? 4个 4.你对外键是怎么理解的? 你会使用外键吗?给一个表添加 ...
- 多测师讲解自动化--rf断言(下)--_高级讲师肖sir
1.Page Should Contain 1.1存在页面上的内容 1.2 不存在页面上的内容, 运行抛异常 1.3 Page Should Not Contain 1.4 1.5 输入页面元素,判断 ...
- 多测师讲解自动化--rf关键字--断言(下)_高级讲师肖sir
断言: 1.1Page Should Contain Maximize Browser Window sleep 2 Comment Page Should Contain hao123 #断言当前页 ...
- 多测师讲解自动化测试_rf节课内容_高级讲师肖sir
*** Settings ***Library Selenium2LibraryLibrary OperatingSystem *** Variables ***${name} zhangsan@{l ...
随机推荐
- 转载:使用ANSI转义码实现一个终端命令行界面
下文转载自:https://baijiahao.baidu.com/s?id=1630601858000127124&wfr=spider&for=pc 习惯于使用Linux的人,时常 ...
- JSTL日期格式化用法
JSP Standard Tag LibrariesFormatting and InternationalizationTwo form input parameters, 'date' and ' ...
- Webpack 打包优化之体积篇
谈及如今欣欣向荣的前端圈,不仅有各类框架百花齐放,如Vue, React, Angular等等,就打包工具而言,发展也是如火如荼,百家争鸣:从早期的王者Browserify, Grunt,到后来赢得宝 ...
- java输出1-100之间的数并求和for+while+do while实现
public static void main(String args[]) {//do while int sum = 0; //当前之和 int i = 1; //加数 do { if (i%2= ...
- $\TeX$ Gyre 字体安装过程与问题解决
目录 安装过程 1. 下载字体包 2. 安装字体 3. 测试范例文件 本文地址 https://www.cnblogs.com/oberon-zjt0806/p/13672426.html 本文只是一 ...
- 第1课 - 学习 Lua 的意义
第1课 - 学习 Lua 的意义 1.Lua 简介 (1) 1993年.巴西 (2) 小巧精致的脚本语言,大小只有 200K (3) 用标准C语言写成,能够在所有的平台上编译运行 (4) 发明的目标是 ...
- JAVA基础知识之面向对象编程知识汇总
JAVA基础课程部分面向对象已经学习完成,知识结构如下: 总体知识框架: 类的结构: 面向对象编程三大特征: 关键字和抽象类接口等: 常见知识汇总: 成员变量和局部变量比较 有无返回值方法比较: 权限 ...
- Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(6)
前言 在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx–技术流ken>,<Git+Gitlab+An ...
- Kubernetes中的Helm和修改证书有效时间(八)
一.Helm的介绍 1,概念 Helm 把 k8s 资源(比如 deployments.services 或 ingress 等)打包到一个 chart 中,而 chart 被保存到 chart 仓库 ...
- 绝了!一个妹子 rm -rf 把公司整个数据库删没了...
经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据.对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错.也希望遇到问题的朋友能找到一丝灵感解决问题. 01 事故背景 安排一个妹子 ...