本文主要是介绍多测师肖sir_高级金牌讲师_python之作业006,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
(已做)1、求出1 / 1 + 1 / 3 + 1 / 5……+1 / 99的和 (1分之一+1分之三+1分支5…)
方法1:
sum = 0
for s in range(1,101,2):
sum += 1/s
print(sum)
方法2:
i=1
sum=0
while i<=99:
sum+=1/i
i+=2
print(sum)
方法3:
list1 = [1/x for x in range(1, 100, 2)]
print(sum(list1))
(已做)2、用循环语句,计算2 - 10之间整数的循环相乘的值 (2345…10)
方法1:
n=2
x=1
while n<=5:
x*=n #x=x*n
print(x)
n+=1
print(x)
方法2:
sum=1
for i in range(2,11):
sum*=i #sum=sum*i
# print(sum)
print(sum)
方法3:
a=1
b=1
while a<10:
a+=1 #a=a+1
b*=a #b=b*a
print(b)
方法4:
sum=2
for i in range(3,11):sum*=i #sum=sum*iprint(sum)
print(sum)
方法4:
sum = 1
n = int(input("Please input number :"))
for i in range(1,n+1):sum*=i
print(sum )
(已做)3、用for循环打印九九乘法表
\t制表符
\n 换行符
end=’ ’ 不换行
\t :表示空4个字符,类似于文档中的缩进功能,相当于按一个Tab键。
\n :表示换行,相当于按一个 回车键
\n\t : 表示换行的同时空4个字符。
方法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:
控制行数
#控制行数
for i in range(1,10):#控制数量for j in range(1,i+1):print(f'{i}x{j}={i*j}',end='\t')print( ```)
![在这里插入图片描述](https://img-blog.csdnimg.cn/deead903482840cfa42f3ebac4baad7a.png)(已做)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…
#此为斐波那契数列 (考试题非常多次题目)
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})
方法4:
a = [‘apple’,‘banana’,‘apple’,‘tomao’,‘orange’,‘apple’,‘banana’,‘watermeton’]
s={}
for i in a:if i in s:s[i]+=1else:s[i]=1
print(s)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’))
这篇关于多测师肖sir_高级金牌讲师_python之作业006的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!