1.7.2 python练习题15道

news/2024/4/27 23:31:24/文章来源:https://blog.csdn.net/u011583645/article/details/137078491

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:

1

2

3

4

sum=0

for in range(1,100,2):

    sum = 1/+ sum

print(sum)<br><br>

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

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

1

2

3

4

5

6

方法1:<br>i=2

a=1

while i<11:

     a=a*i

     i+=1

print(a)<br>

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

  


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

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

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

end=" "  不换行

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

1

2

3

4

5

6

方法1

for in range(1,10):

    for in range(1,10):

        if j<=i:

            print('%d*%d=%d'%(i,j,i*j),end='   ')

    print('\n')<br>

方法2for in range(1,10):<br>    for in range(1,i+1):<br>        print(f"{i}*{j} ={i*j}",end=" ")<br>    print()<br>

方法3for in range(1,10):<br>    for in range(1,i+1):<br>        print('%d*%d=%d'%(i,j,i*j),end='  ' )<br>    print()<br>

方法4:i=1<br>while i<10:<br>     j=1<br>     while j<=i:<br>         print(j,'x',i,'=',i*j,end='  ')<br>         j+=1<br>     print()<br>     i+=1

  


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

1

2

3

4

5

6

7

方法1

str1='helloworld'

str2=''

for in str1:

    if not in str2:

        print('str1中有%d个%s'%(str1.count(i),i))

        str2=str2+i<br>

方法2:a='helloworld'<br>count={}<br>for in a:<br>    if in count:<br>        count[i]+=1<br>    else:<br>        count[i]=1<br>print(count)<br>

方法3sum=0<br>for in s2:<br>    for in s1:<br>        if j==i:<br>            sum=sum+1<br>    print(f"{i}出现的次数为:{sum}")<br>    sum=0<br>

方法4:str1='helloworld'<br>for in set(str1):<br>    c=str1.count(i)<br>    print('{}出现的次数:{}次'.format(i, c))

方法5:str1='hello world'<br>d={}<br>for i  in str1:<br>    d[i]=str1.count(i)<br>print(d)<br><br>方法6:str1='hello world'<br>print({i:str1.count(i) for  i  in  str1})<br><br>

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

1

2

3

4

5

方法1

str = "duoceshi"                                                                  

= input("请输入要变大小的字母:")                                                          

str1=str.replace(s,s.upper())        #replace替换;str.upper大写(str文件中字母大写)           

print(str1)    <br>

方法2:str = "duoceshi"<br>s = input("请输入要变大小的字母:")<br>if  in  str:<br>        for i  in s:<br>            j=i.upper()<br>            print(str.replace(s,j))<br>else:<br>    print("字母不存在")<br>                                                                   

  


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

1

2

3

4

5

6

7

8

9

方法1:<br>ji=[]                   

ou=[]                   

for in range(1,101):  

    if %2 ==0:        

        ou.append(i)    

    else:               

        ji.append(i)    

print("奇数",ji)          

print("偶数",ou)    <br>

方法2:list1=[]<br>list2=[]<br>a=-1<br>b=0<br>while a<99:<br>    a+=2<br>    list1.append(a)<br>print(list1)<br>while b<99:<br>    b+=2<br>    list2.append(b)<br>print(list2)<br>

方法3:a=1<br>b=0<br>while a<100:<br>    list1.append(a)<br>    a+=2<br>print(list1)<br>while b<100:<br>    list2.append(b)<br>    b+=2<br>print(list2)

  


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

1

2

3

4

方法1

list1 = [136918]    

c=set(list1)                  

print(c)  <br>

方法2:list1 = [136918]<br>dict1={}<br>for in list1:<br>    if in dict1:<br>        dict1[i]=dict1[i]+1<br>    else:<br>        dict1[i]=1<br>print(list(dict1.keys()))<br><br>

方法3:通过not  in 不存在list1 = [136918]<br>list2=[]<br>for in list1:<br>    if not in list2:<br>        list2.append(i)<br>print(list2)

方法4:通过字典中键的唯一性list1 = [136918]<br>dict={}<br>c=dict.fromkeys(list1)<br>print(list(c))<br>

方法5:通过统计的方法list1 = [136918]<br>for in  list1:<br>    if  list1.count(i)>1:<br>        list1.remove(i)<br>print(list1)<br>                    

  

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

1

2

3

4

5

6

7

方法1

str1="k:1|k3:2|k2:9"

str2=str1.split("|")

dict1={}

for in str2:

    dict1[i.split(":")[0]] = i.split(":")[1]

print(dict1)<br>

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

方法3:str1="k:1|k3:2|k2:9"<br>str2=str1.split("|")<br>dict1={}<br>for i  in str2:<br>    k,v=i.split(":")<br>    dict1[k]=v<br>print(dict1)

  


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

1

2

3

4

5

6

7

方法1

str_old="user_controller"              

list1=str_old.split("_")               

str_new=""                             

for in list1:                        

    str_new=str_new+str(i).capitalize()

print(str_new)    <br><br>

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

方法3:str_old="user_controller"<br>list1=str_old.split("_")<br>print(list1[0].title()+list1[1].title())<br>方法4:str_old="user_controller"<br>list1=str_old.split("_")<br>print(list1[0].capitalize()+list1[1].capitalize())<br>                     

  

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

1

2

3

4

方法1

list1 = [2691018151]         

list1.sort()                             

print(list1) #[1, 2, 6, 9, 10, 15, 18]    <br>

方法2:list = [2, 6, 9, 10, 18, 15, 1]<br>list.sort(reverse=True)<br>print(list)<br>

方法3:list = [2, 6, 9, 10, 18, 15, 1]<br>print(sorted(list,reverse=False))       #[1, 2, 6, 9, 10, 15, 18]<br>print(sorted(list,reverse=True))      #[18, 15, 10, 9, 6, 2, 1]<br>

方法4:冒泡排序<br>list = [2, 6, 9, 10, 18, 15, 1]<br>for  i in range(0,len(list)-1):<br>    for j  in  range(0,len(list)-1):<br>        if list[j]> list[j+1]   :<br>            list[j],list[j+1] = list[j+1], list[j]<br>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

2

3

4

5

<em>list=[1,1]                                 

for  in  range(10):                      

    list.append(list[-1]+list[-2])         

print(list)    <br>

方法2:<br></em>a=0<br>b=1<br>for  in  range(11):<br>    sum=a+b<br>    a=b<br>    b=sum<br>    print(a,end="  ")<br>

方法3:a,b=1,1<br>print(a,end=" ")<br>print(b,end=" ")<br>for i  in  range(10):<br>    a,b=b,a+b<br>    print(b,end=" ")<br>

方法4:list2=[]<br>for in range(10):<br>    if i==0  or  i==1 :<br>        list2.append(1)<br>    else:<br>        list2.append(list2[i-1]+list2[i-2])<br>print(list2)<em id="__mceDel"><br>                            

</em>

 

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

1

2

3

4

5

方法1

=['a''b''c' 'd''e']

=[12345]

= dict(zip(a,b))

print(c)

  


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

1

2

3

4

5

6

7

8

9

方法1

= ['apple''banana''apple''tomao''orange''apple''banana', 'waterm

=set(a)                                                                    

for in b:                                                                  

    total=0                                                                  

    for in a:                                                              

        if ==j:                                                            

            total=total+1                                                    

    print(f"{i}出现的次数为:{total}次")  <br>

方法2: #:使用字典<br># python<br># 复制代码<br>a = ['apple', 'banana', 'apple', 'tomao', 'orange', 'apple', 'banana', 'watermelon']<br># 初始化一个空字典来存储字符串及其出现的次数<br>count_dict = {}<br># 遍历列表中的每个字符串<br>for item in a:<br>    # 如果字符串已经在字典中,增加其计数<br>    if item in count_dict:<br>        count_dict[item] += 1<br>        # 如果字符串不在字典中,添加到字典并设置计数为1<br>    else:<br>        count_dict[item] = 1<br>    # 打印结果<br>print(count_dict)  #{'apple': 3, 'banana': 2, 'tomao': 1, 'orange': 1, 'watermelon': 1}<br>

方法3:a = ['apple', 'banana', 'apple', 'tomao', 'orange', 'apple', 'banana', 'watermelon']<br>count_dict = {}<br>for  i  in a:<br>    count_dict[i] = a.count(i)<br>print(count_dict)<br>

方法4:a = ['apple','banana','apple','tomao','orange','apple','banana','watermeton']<br>for i in set(a):<br>    b=a.count(i)<br>    print('{}出现的次数:{}次'.format(i,b))

  


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

1

2

3

4

5

6

7

方法1

list4=[1,2,3,4,5,6,7,8,9,10]        

list5=[]                            

for in list4:                     

    if i%2==1:                      

        list5.append(i)             

print(list5)                        

  

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

2

3

4

5

6

7

8

9

10

11

12

方法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  in  str2:                                                                            

       k,v=i.split("=")                                                                     

       d[k]=v                                                                               

print(d)                                                                                    

print(d.get("user_id")) <br><br>

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

  

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

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

相关文章

NAT---网络地址转换技术

Network Address Translation 1、起源&#xff1a;ip地址不够用 2、作用&#xff1a;让私网地址映射成公网地址&#xff0c;进而访问网络。 3、私网Ip地址的范围&#xff1a; A类&#xff1a;10.0.0.0-10.255.255.255 B类&#xff1a;172.16.0.0-172.31.255.255 C类&…

Vue3更新Package.json版本号

由于我之前已经更新过了&#xff0c;下面的方法提示我已经是最新的了&#xff0c;记录一下&#xff0c;过段时间在测试一下 npm install -g vue/clivue upgrade

数据库被.[Goodmorningfriends@onionmail.org].faust勒索病毒加密,能恢复吗?

.faust勒索病毒有什么特点及危害&#xff1f; .faust勒索病毒是一种恶意软件&#xff0c;以其复杂的加密技术和勒索行为而闻名。这种病毒的主要目标是通过加密受害者的数据文件&#xff0c;然后勒索赎金以解密这些文件。它通常通过恶意附件、恶意链接或潜在的不安全下载源传播&…

【推导结果】如何得到 回归均方误差 估计系数的标准误

对线性回归模型系数标准差标准误的理解 1.生成数据 yxe3.610.633.42-1.387.631.017.44-1.0111.651.3811.46-0.63 2.回归 y β 0 β 1 x ϵ y \beta_{0}\beta_{1}x\epsilon yβ0​β1​xϵ y i β 0 β 1 x i e i y_{i}\beta_{0}\beta_{1} x_{i}e_{i} yi​β0​β1​xi…

虚拟机如何在原有磁盘上扩容

虚拟机未开启状态–菜单栏–虚拟机–快照–拍摄快照–拍摄快照– 菜单栏–虚拟机–快照–快照管理器–点击刚刚的快照1–删除–是– 文件–新建或者打开–硬盘&#xff08;以本人Win 10.64.3GL为例&#xff09;–虚拟机设置–硬件– 硬盘&#xff08;SATA&#xff09;–磁盘实…

浏览器导出excel

做java web项目时&#xff0c;经常遇到需要在页面上点击导出按钮&#xff0c;然后直浏览器接下载下来一个excel文档。 比如一个List<Person>的集合&#xff0c;需要将每个Person当做一行&#xff0c;输出到excel中去。其中Person实体类如下&#xff1a; import lombok.…

Linux系统使用Docker部署Portainer结合内网穿透实现远程管理容器和镜像

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

LeetCode 1027——最长等差数列

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 假设我们以 f[d][nums[i]]表示以 nums[i] 为结尾元素间距为 d 的等差数列的最大长度&#xff0c;那么&#xff0c;如果 nums[i]-d 也存在于 nums 数组中&#xff0c;则有&#xff1a; f [ d ] [ n u m s [ i ] ] …

GPT-5有望在今年夏季到来

当OpenAI一年前发布了GPT-4 AI模型时&#xff0c;整个行业都被这个能模仿人类交流和写作的技术所震撼&#xff0c;同时也引发了一阵巨大的炒作和恐慌。自那以后&#xff0c;AI界许多人都关心的问题是&#xff1a;GPT-5什么时候出来&#xff1f;在全球各地的采访和媒体露面中&am…

开源大数据集群部署(十七)HADOOP集群配置(二)

作者&#xff1a;櫰木 1 HADOOP集群配置 配置文件workers [roothd1.dtstack.com software]# cd /opt/hadoop/etc/hadoop [roothd1.dtstack.com hadoop]# pwd /opt/hadoop/etc/hadoop [roothd1.dtstack.com hadoop]# cat >> workers <<EOF hd3.dtstack.com hd1.d…

【每日一题】1997. 访问完所有房间的第一天-2024.3.28

题目&#xff1a; 1997. 访问完所有房间的第一天 你需要访问 n 个房间&#xff0c;房间从 0 到 n - 1 编号。同时&#xff0c;每一天都有一个日期编号&#xff0c;从 0 开始&#xff0c;依天数递增。你每天都会访问一个房间。 最开始的第 0 天&#xff0c;你访问 0 号房间。…

基于51单片机的汽车安全带检测控制器Proteus仿真

地址&#xff1a;https://pan.baidu.com/s/1To_ZEiJHBrZnm9ejYHFoPg 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52简介&#xff1a; AT89C52是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectronics&#xff09;公…

为响应国家号召,搜维尔科技开启虚拟仿真实验室设备升级改造服务

近日&#xff0c;国务院发布了关于《推动大规模设备更新和消费品以旧换新行动方案》&#xff0c;该通知的发布表现出国家对于科技创新事业的高度重视。各行各业都在积极响应国家号召&#xff0c;加快数字化转型和设备升级与更新步伐。搜维尔科技为响应国家号召&#xff0c;将开…

46.continue语句

目录 一.continue语句 二.视频教程 一.continue语句 continue语句的作用和break语句很像&#xff0c;break语句会跳出当前循环&#xff0c;而continue语句则是跳出本次循环&#xff0c;继续执行下一次循环。 举个例子&#xff1a; #include <stdio.h>void main(void)…

iOS客户端自动化UI自动化airtest+appium从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图

Android客户端自动化UI自动化airtest从0到1搭建macos脚本设计demo演示全网最全最详细保姆级有步骤有图-CSDN博客 避坑系列-必读&#xff1a; 不要安装iOS-Tagent &#xff0c;安装appium -这2个性质其实是差不多的都是为了安装wda。注意安装appium最新版本&#xff0c;安装完…

Mysql的日志管理,备份与回复

目录 一、Mysql日志管理 1、日志的默认位置及配置文件 2、日志分类 2.1错误日志 2.2通用查询日志 2.3二进制日志 2.4慢查询日志 2.5中继日志 3、日志配置 4、日志查询 4.1查询通用日志是否开启 4.2查询二进制日志是否开启 4.3查看慢查询日志是否开启 4.4查询慢查…

Linux文件系列:磁盘,文件系统,软硬链接

Linux文件系列:磁盘,文件系统,软硬链接 一.磁盘相关知识1.磁盘机械构成2.磁盘物理存储3.磁盘逻辑存储1.LBA地址2.磁盘的分区和分组 二.文件系统和inode1.inode结构体2.文件系统1.Super Block(超级块)2.Group Descriptor Table(块组描述表GDT)3.inode Table4.Data Blocks5.Block…

UE4_旋转节点总结一

一、Roll、Pitch、Yaw Roll 围绕X轴旋转 飞机的翻滚角 Pitch 围绕Y轴旋转 飞机的俯仰角 Yaw 围绕Z轴旋转 飞机的航向角 二、Get Forward Vector理解 测试&#xff1a; 运行&#xff1a; 三、Get Actor Rotation理解 运行效果&#xff1a; 拆分旋转体测试一&a…

春秋云境CVE-2022-24663

简介 远程代码执行漏洞&#xff0c;任何订阅者都可以利用该漏洞发送带有“短代码”参数设置为 PHP Everywhere 的请求&#xff0c;并在站点上执行任意 PHP 代码。P.S. 存在常见用户名低权限用户弱口令 正文 进入首页我们没看到任何有价值的东西&#xff0c;那么就只好去寻找…

Gartner 公布 2024 年八大网络安全预测

近日&#xff0c;Gartner 安全与风险管理峰会在悉尼举行&#xff0c;旨在探讨网络安全的发展前景。 本次峰会&#xff0c;Gartner 公布了 2024 年及以后的八大网络安全预测。 Gartner 研究总监 Deepti Gopal 表示&#xff0c;随着 GenAI 的不断发展&#xff0c;一些长期困扰网…