肖sir__python之练习题6.1

1、求出1 / 1 + 1 / 3 + 1 / 5……+1 / 99的和 (1分之一+1分之三+1分支5....)
2、用循环语句,计算2 - 10之间整数的循环相乘的值 (2*3*4*5....10)
3、用for循环打印九九乘法表
4、求每个字符串中字符出现的个数如:helloworld
5、实现把字符串str = "duoceshi"中任意字母变为大写(通过输入语句来实现)
6、分别打印100以内的所有偶数和奇数并存入不同的列表当中
7、请写一段Python代码实现删除一个list = [1, 3, 6, 9, 1, 8]#
8、将字符串类似:"k:1|k3:2|k2:9" 处理成key:value或json格式,比如{"k": "1", "k3": "2"}
9、把字符串user_controller转换为驼峰命名UserController大驼峰在java用作变量命名
(前英文为大写后英文为小写) 小驼峰:作为变量命名
10、给一组无规律的数据从大到小或从小到大进行排序如:list = [2, 6, 9, 10, 18, 15, 1]
11、分析以下数字的规律, 1 1 2 3 5 8 13 21 34用Python语言编程实现输出
#分析题目:根据规律 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合并为字典
13、有如下列表,统计列表中的字符串出现的次数
# a = ['apple','banana','apple','tomao','orange','apple','banana','watermeton']
14、、列表推导式求出列表所有奇数并构造新列表 a =[1,2,3,4,5,6,7,8,9,10]
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"

 

================================================================================================

练习讲解:

1、求出1 / 1 + 1 / 3 + 1 / 5……+1 / 99的和 (1分之一+1分之三+1分支5....)

方法1:

sum=0
for i in range(1,100,2):
    sum = 1/i + sum
print(sum)

方法2:
sum=0
for i in range(1,100):
if i%2==1:
sum=sum+1/i
print(sum) #2.937774848474907
方法3:
a=1
sum=0
while a<100:
sum+=1/a
a+=2
print(sum)

2、用循环语句,计算2 - 10之间整数的循环相乘的值 (2*3*4*5....10)

方法1:
i=2 a=1 while i<11: a=a*i i+=1 print(a)
方法2:
ji=1
for i in range(2,11):
ji=ji*i
print(ji) #3628800
方法3:
a=1
b=1
while a<10:
a += 1
b *= a
print(b)

  


3、用for循环打印九九乘法表

\n 表示换行,相当于一个回车键

\t  表示4个空字符,类似文旦中的缩进功能,按tab

end=" "  不换行

f 是format的函数的缩写,用于格式化输出

 

方法1:
for i in range(1,10):
    for j in range(1,10):
        if j<=i:
            print('%d*%d=%d'%(i,j,i*j),end='   ')
    print('\n')
方法2:
for i in range(1,10):
for j in range(1,i+1):
print(f"{i}*{j} ={i*j}",end=" ")
print()
方法3:
for i in range(1,10):
for j in range(1,i+1):
print('%d*%d=%d'%(i,j,i*j),end=' ' )
print()
方法4:
i=1
while i<10:
j=1
while j<=i:
print(j,'x',i,'=',i*j,end=' ')
j+=1
print()
i+=1

  


4、求每个字符串中字符出现的个数如:helloworld

方法1:
str1='helloworld'
str2=''
for i in str1:
    if i not in str2:
        print('str1中有%d个%s'%(str1.count(i),i))
        str2=str2+i
方法2:
a='helloworld'
count={}
for i in a:
if i in count:
count[i]+=1
else:
count[i]=1
print(count)
方法3:
sum=0
for i in s2:
for j in s1:
if j==i:
sum=sum+1
print(f"{i}出现的次数为:{sum}")
sum=0
方法4:
str1='helloworld'
for i in set(str1):
c=str1.count(i)
print('{}出现的次数:{}次'.format(i, c))
方法5:
str1='hello world'
d={}
for i in str1:
d[i]=str1.count(i)
print(d)

方法6:
str1='hello world'
print({i:str1.count(i) for i in str1})


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

方法1;
str = "duoceshi"                                                                   
s = input("请输入要变大小的字母:")                                                           
str1=str.replace(s,s.upper())        #replace替换;str.upper大写(str文件中字母大写)            
print(str1)    
方法2:
str = "duoceshi"
s = input("请输入要变大小的字母:")
if s in str:
for i in s:
j=i.upper()
print(str.replace(s,j))
else:
print("字母不存在")

  


6、分别打印100以内的所有偶数和奇数并存入不同的列表当中

方法1:
ji=[] ou=[] for i in range(1,101): if i %2 ==0: ou.append(i) else: ji.append(i) print("奇数",ji) print("偶数",ou)
方法2:
list1=[]
list2=[]
a=-1
b=0
while a<99:
a+=2
list1.append(a)
print(list1)
while b<99:
b+=2
list2.append(b)
print(list2)
方法3:
a=1
b=0
while a<100:
list1.append(a)
a+=2
print(list1)
while b<100:
list2.append(b)
b+=2
print(list2)

  


7、请写一段Python代码实现删除一个list = [1, 3, 6, 9, 1, 8]#去重 ( 重点

方法1:
list1 = [1, 3, 6, 9, 1, 8]     
c=set(list1)                   
print(c)  
方法2:
list1 = [1, 3, 6, 9, 1, 8]
dict1={}
for i in list1:
if i in dict1:
dict1[i]=dict1[i]+1
else:
dict1[i]=1
print(list(dict1.keys()))

方法3:通过not in 不存在
list1 = [1, 3, 6, 9, 1, 8]
list2=[]
for i in list1:
if i not in list2:
list2.append(i)
print(list2)
方法4:通过字典中键的唯一性
list1 = [1, 3, 6, 9, 1, 8]
dict={}
c=dict.fromkeys(list1)
print(list(c))
方法5:通过统计的方法
list1 = [1, 3, 6, 9, 1, 8]
for i in list1:
if list1.count(i)>1:
list1.remove(i)
print(list1)

  

8、将字符串类似:"k:1|k3:2|k2:9" 处理成key:value或json格式,比如{"k": "1", "k3": "2"}

 

方法1:
str1="k:1|k3:2|k2:9"
str2=str1.split("|")
dict1={}
for i in str2:
    dict1[i.split(":")[0]] = i.split(":")[1]
print(dict1)
方法2:
def parse_string_to_dict(input_string):
# 使用'|'分割字符串
pairs = input_string.split('|')
# 创建一个空字典来存储结果
result_dict = {}
# 遍历每对键值
for pair in pairs:
# 使用':'分割键和值
key, value = pair.split(':')
# 将键和值添加到字典中
result_dict[key] = value
return result_dict
# 使用函数
input_str = "k:1|k3:2|k2:9"
output_dict = parse_string_to_dict(input_str)
print(output_dict) # 输出: {'k': '1', 'k3': '2', 'k2': '9'}
方法3:
str1="k:1|k3:2|k2:9"
str2=str1.split("|")
dict1={}
for i in str2:
k,v=i.split(":")
dict1[k]=v
print(dict1)

  


9、把字符串user_controller转换为驼峰命名UserController大驼峰在java用作变量命名
(前英文为大写后英文为小写) 小驼峰:作为变量命名

 

方法1:
str_old="user_controller"               
list1=str_old.split("_")                
str_new=""                              
for i in list1:                         
    str_new=str_new+str(i).capitalize() 
print(str_new)    

方法2:
def to_camel_case(s):
    components = s.split('_')  # 将字符串按下划线分割成组件
    return ''.join(x.capitalize() for x in components)  # 将每个组件的首字母大写,并拼接起来
# 示例字符串
s = "user_controller"
# 转换为驼峰命名法
camel_case_str = to_camel_case(s)
# 输出结果
print(camel_case_str)  # 输出: UserController
方法3:
str_old="user_controller"
list1=str_old.split("_")
print(list1[0].title()+list1[1].title())
方法4:
str_old="user_controller"
list1=str_old.split("_")
print(list1[0].capitalize()+list1[1].capitalize())

  

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

方法1:
list1 = [2, 6, 9, 10, 18, 15, 1]          
list1.sort()                              
print(list1) #[1, 2, 6, 9, 10, 15, 18]    
方法2:
list = [2, 6, 9, 10, 18, 15, 1]
list.sort(reverse=True)
print(list)
方法3:
list = [2, 6, 9, 10, 18, 15, 1]
print(sorted(list,reverse=False)) #[1, 2, 6, 9, 10, 15, 18]
print(sorted(list,reverse=True)) #[18, 15, 10, 9, 6, 2, 1]
方法4:冒泡排序 (重点)

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)

 

11、分析以下数字的规律, 1 1 2 3 5 8 13 21 34用Python语言编程实现输出(重点)
#分析题目:根据规律 1+1=2 2+1=3 2+3=5 3+5=8....
#此为斐波那契数列 (考试题非常多次题目)

如:兔子的繁殖问题:如果一开始有一对兔子,它们每月生育一对兔子,小兔在出生后一个月又开始生育且繁殖情况与最初的那对兔子一样,那么一年后有多少对兔子?

答案是,每月兔子的总数可以用以下数列表示:1,1,2,3,5,8,13,21,34,55,89,144,233…

 

第一个月: 1 对小兔子
第二个月: 1 对小兔子
第三个月: 1 对大兔子 1 对小兔子(本月生)
第四个月: 1 对大兔子 1 对小兔子(本月生) 1对小兔子(上月生)
第五个月: 2 对大兔子 2 对小兔子(本月生) 1对小兔子(上月生)
第六个月: 3 对大兔子 3 对小兔子(本月生) 2对小兔子(上月生)
第七个月: 5 对大兔子 5 对小兔子(本月生) 3对小兔子(上月生)

 方法1:

list=[1,1]                                  
for  i in  range(10):                       
    list.append(list[-1]+list[-2])          
print(list)    
方法2:
a=0
b=1
for i in range(11):
sum=a+b
a=b
b=sum
print(a,end=" ")
方法3:
a,b=1,1
print(a,end=" ")
print(b,end=" ")
for i in range(10):
a,b=b,a+b
print(b,end=" ")
方法4:
list2=[]
for i in range(10):
if i==0 or i==1 :
list2.append(1)
else:
list2.append(list2[i-1]+list2[i-2])
print(list2)

 

12、如有两个list:a =['a','b','c','d','e']
b =[1,2,3,4,5] 将a中的元素作为key b中的元素作为value,将a,b合并为字典

 

方法1:
a =['a', 'b', 'c' , 'd', 'e']
b =[1, 2, 3, 4, 5]
c = dict(zip(a,b))
print(c)

  


13、有如下列表,统计列表中的字符串出现的次数 (重点)
# a = ['apple','banana','apple','tomao','orange','apple','banana','watermeton']

方法1:
a = ['apple', 'banana', 'apple', 'tomao', 'orange', 'apple', 'banana', 'waterm
b =set(a)                                                                     
for i in b:                                                                   
    total=0                                                                   
    for j in a:                                                               
        if i ==j:                                                             
            total=total+1                                                     
    print(f"{i}出现的次数为:{total}次")  
方法2:
 # 方法一:使用字典
# python
# 复制代码
a = ['apple', 'banana', 'apple', 'tomao', 'orange', 'apple', 'banana', 'watermelon']
# 初始化一个空字典来存储字符串及其出现的次数
count_dict = {}
# 遍历列表中的每个字符串
for item in a:
# 如果字符串已经在字典中,增加其计数
if item in count_dict:
count_dict[item] += 1
# 如果字符串不在字典中,添加到字典并设置计数为1
else:
count_dict[item] = 1
# 打印结果
print(count_dict) #{'apple': 3, 'banana': 2, 'tomao': 1, 'orange': 1, 'watermelon': 1}
方法3:
a = ['apple', 'banana', 'apple', 'tomao', 'orange', 'apple', 'banana', 'watermelon']
count_dict = {}
for i in a:
count_dict[i] = a.count(i)
print(count_dict)
方法4:
a = ['apple','banana','apple','tomao','orange','apple','banana','watermeton']
for i in set(a):
b=a.count(i)
print('{}出现的次数:{}次'.format(i,b))
方法五:
list6 = ['apple','banana','apple','tomao','orange','apple','banana','watermeton']
s_list = set(list6)
for i in s_list:
total = 0
for j in list6:
if i == j :
total = total + 1
print("列表中%s有%d个" % (i,total))

  


14、列表推导式求出列表所有奇数并构造新列表 a =[1,2,3,4,5,6,7,8,9,10]

方法1:
list4=[1,2,3,4,5,6,7,8,9,10]         
list5=[]                             
for i in list4:                      
    if i%2==1:                       
        list5.append(i)              
print(list5)     

方法2:
a =[1,2,3,4,5,6,7,8,9,10]
b=[]
for i in a:
if i%2!=0:
b.append(i)
print(b)

  

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"

 

方法1:
url=r"http://ip:port/extername/get_account_trade_record.json?page_size=20&page_index=1&user_i
str1=url.split("?") [1]                                                                      
print(str1)                                                                                  
str2=str1.split("&")                                                                         
print(str2)                                                                                  
d={}                                                                                         
for  i in  str2:                                                                             
       k,v=i.split("=")                                                                      
       d[k]=v                                                                                
print(d)                                                                                     
print(d.get("user_id")) 

方法2:
url1 ="http://ip:port/extername/get_account_trade_record.json?page_size=20&page_index=1&user
str1=""
dict1={}
for i in range(url1.index("?")+1,len(url1)):
str1=str1+url1[i]
#print(str1)
str2=str1.split("&")
#print(str2)
for i in str2:
str3=i.split("=")
dict1[str3[0]]=str3[1]
print(dict1)

  

posted @ 2024-03-27 08:56  xiaolehua  阅读(108)  评论(0编辑  收藏  举报