多测师拱墅校区肖sir_高级金牌讲师_python之作业

(已做)1、求出1 / 1 + 1 / 3 + 1 / 5……+1 / 99的和 (1分之一+1分之三+1分支5…)
方法1:
y=0
for x in range(1,100,2):
y=y+1/x
print(y)

方法2:
while x<100:
y+=1/x
x+=2
print(y)
报错:在这里插入图片描述

(已做)2、用循环语句,计算2 - 10之间整数的循环相乘的值 (2345…10)
方法1:
sum=1
for i in range(2,11):
sum
=i
print(sum)

方法2:
sum_02=2
num_02=2
while num_02<10:
num_02=num_02+1
sum_02=sum_02*num_02
print(sum_02)

方法3:
a=2
for i in range(3,11):
a =i
print(a)
方法4:
a=1
for i in range(2,11):
a
=i
print(a)

方法4:
sum = 1
n = int(input(“Please input number n:”))
for i in range(1,n+1):
sum=sum i
if i<n:
print(i,end=‘’)
print("
“,i,”=",sum )

(已做)3、用for循环打印九九乘法表
\t制表符
\n 换行符
end=’ ’ 不换行
方法1:
for i in range(1,10):
for j in range(1,i+1):
print(‘%d*%d=%d’%(j,i,j*i),end=‘\t’)
print(‘’)

方法2:
for i in range(1,10):
for a in range(1,10):
print(i,‘X’,a,‘=’,i*a,’ ‘,end=’‘)
if a==i:
print(’')
break

方法3:
for a in range(1,10):
for b in range(1,a+1):
print(‘{}{}={} '.format(b,a,ab),end=’')
print()

(已做)4、求每个字符串中字符出现的个数如:helloworld
方法1:
s=‘hellworld’
#print(set(s)) #通过集合去重
for i in set(s):
print(i,s.count(i))
方法2:
a=‘helloworld’
c={} #字典中的键是不重复
for i in a :
c[i]=a.count(i)
print©

方法3:
str1 = ‘helloworld’
s = {}
for i in str1:
if i in s:
s[i] += 1
else:
s[i] = 1
print(s)
方法4:
s=‘helloworld’
print({i:s.count(i) for i in s})

(已做)5、实现把字符串str = "duoceshi"中任意字母变为大写(通过输入语句来实现)

方法1:
str=‘duoceshi’
a=input(‘输入任意字母’)
for i in a:
s=i.upper()
str=str.replace(a,s)
print(str)
方法2:
s=‘duoceshi’
a = input('请输入要变为大写的字母:
if a not in s:
print(‘请输入正确的字母’)
else:
for i in a:
a2=i.upper()
s2=s.replace(a,
print(s2)
案例3:
6、分别打印100以内的所有偶数和奇数并存入不同的列表当中
方法1:
print([i for i in range(0,101,2)])
print([i for i in range(1,101,2)])

方法2:
print(list(range(1,100,2)))
print(list(range(0,100,2)))

方法3:
a=[]
b=[]
for i in range(1,101,2):
a.append(i)
for o in range(0,101,2):
b.append(o)
print(a)
print(b)

方法4:
list1=[]
list2=[]
for i in range(1,100):
if i%2==0:
list1.append(i)
else:
list2.append(i)
i+=1
print(list1)
print(list2)
7、请写一段Python代码实现删除一个list = [1, 3, 6, 9, 1, 8]# 里面的重复元素不能用set
方法1:
list = [1, 3, 6, 9, 1, 8]
s=[]
for i in list:
if i not in s:
s.append(i)
print(s)
方法2 : 利用字典的唯一性去重
list1= [1, 3, 6, 9, 1, 8]
print(list(dict.fromkeys(list1).keys()))
备注:fromkeys()方法是用于创建一个新字典,
方法3:利用set集合去重
list1= [1, 3, 6, 9, 1, 8]
k=set(list1)
print(k)
方法4:利用count方法统计并删除
list = [1, 3, 6, 9, 1, 8,1]
for i in list:
while list.count(i)>1:
list.remove(i)
print(list)
8、将字符串类似:“k:1|k3:2|k2:9” 处理成key:value或json格式,比如{“k”: “1”, “k3”: “2”}
方法1:
str04=‘k:1|k3:2|k2:9’
list5=str04.split(‘|’) # split [‘k:1’, ‘k3:2’, ‘k2:9’]
print(list5)
c=dict()
for i in list5:
d=i.split(‘:’) #split 分成3个列表 ,索引0,1
# print(d ,end=‘’)
c[d[0]]=int(d[1])
print©

方法2:zd={}
for i in a:
i=i.split(‘:’)
zd.setdefault(i[0],i[1])
print(zd)
方法3:
s=“k:1|k3:2|k2:9”
d={}
lst=s.split(‘|’)
for i in lst:
k,v=i.split(‘:’)
d[k]=v
print(d)

9、把字符串user_controller转换为驼峰命名UserController大驼峰在java用作变量命名
(前英文为大写后英文为小写) 小驼峰:作为变量命名
方法1:
a=“user_controller”
b=a.title().split("“)
print(b)
for i in b:
print(i,end=”")
方法2:
a=‘user_controller’
a=a.split('
')
print(a)
a=a[0].capitalize()+a[1].capitalize()
print(a)

10、给一组无规律的数据从大到小或从小到大进行排序如:list = [2, 6, 9, 10, 18, 15, 1]
方法1: sort 升序
list = [2, 6, 9,10, 18, 15, 1]
list.sort()
print(list)

方法2:
list = [2, 6, 9,10, 18, 15, 1]
print(sorted(list,reverse=False))

方法3:
list = [2, 6, 9,10, 18, 15, 1]
for i in range(0,len(list)-1):
for j in range(0,len(list)-1):
if list[j]>list[j+1]:
list[j],list[j+1]=list[j+1],list[j]
print(list)
方法4;
冒泡排序

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。

它重复地走访过要排序的数列,一次比较两个元素,

如果他们的顺序错误就把他们交换过来。

走访数列的工作是重复地进行直到没有再需要交换,

也就是说该数列已经排序完成。

这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。

def bubbleSort(arr):

n = len(arr)

# 遍历所有数组元素

for i in range(n):

# Last i elements are already in place

for j in range(0, n - i - 1):

if arr[j] > arr[j + 1]:

arr[j], arr[j + 1] = arr[j + 1], arr[j]

arr = [64, 34, 25, 12, 22, 11, 90]

bubbleSort(arr)

print(“排序后的数组:”)

for i in range(len(arr)):

print(“%d” % arr[i])

11、分析以下数字的规律, 1 1 2 3 5 8 13 21 34用Python语言编程实现输出 (斐波那契数列,兔子)
案例1:
list=[1,1]
for i in range(10):
list.append(list[-1]+list[-2])
#print(list)
print(list)

案例2:
a=[]
for i in range(10):
if i0 or i1 :
a.append(1)
else:
a.append(a[i-1]+a[i-2])
print(a)

#分析题目:根据规律 1+1=2 2+1=3 2+3=5 3+5=8…
#此为斐波那契数列 (考试题非常多次题目)
斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
题目:
有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?

12、如有两个list:a =[‘a’,‘b’,‘c’,‘d’,‘e’]
b =[1,2,3,4,5] 将a中的元素作为key b中的元素作为value,将a,b合并为字典
方法1:使用了zip函数
list:a =[‘a’,‘b’,‘c’,‘d’,‘e’]
b =[1,2,3,4,5]
print(dict(zip(list,list2))) #{2: ‘a’, 6: ‘b’, 9: ‘c’}

13、有如下列表,统计列表中的字符串出现的次数
a = [‘apple’,‘banana’,‘apple’,‘tomao’,‘orange’,‘apple’,‘banana’,‘watermeton’]
方法1:
s={}
for i in a:
s[i]=a.count(i)
print(s)

方法2:
a = [‘apple’,‘banana’,'a
for i in set(a):
count=a.count(i)
print(i,count)

方法3:
a = [‘apple’,‘banana’,‘apple’,‘tomao’,‘orange’,‘apple’,‘banana’,‘watermeton’]
print({i:a.count(i) for i in a})

14、、列表推导式求出列表所有奇数并构造新列表 a =[1,2,3,4,5,6,7,8,9,10]
方法1:
list14=[1,2,3,4,5,6,7,8,9,10]
list15=[]
for i in list14:
if i%2==1:
list15.append(i)
print(list15)
方法2:
f =[1,2,3,4,5,6,7,8,9,10]
print([i for i in f if i%2 != 0])
#[1, 3, 5, 7, 9]

15、有如下url地址, 要求实现截取出"?“号后面的参数, 并将参数以"key value"的键值形式保存起来, 并最终通过#get(key)的方式取出对应的value值。
#url地址如下:http://ip:port/extername/get_account_trade_record.json?page_size=20&page_index=1&user_id=203317&trade_type=0”

方法一:
a1=a.split(‘?’) #split分隔?返回列表,索引是0,1
print(a1)
a2=a1[1].split(‘&’) #根据列表中索引1,split分隔’&’
print(a2) #[‘\npage_size=20’, ‘page_index=1’, ‘user_id=203317’, ‘trade_type=0"
d={}
for i in a2:
k,v=i.split(’=')
d[k]=v
print(d.get(‘user_id’))

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多测师软件测试培训师肖sir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值