python 题目

题目一:幸运数对

写一个自定义函数,用于判断两个数是否为幸运数对,所谓幸运数对是指两数相差3,且各位数字之和能被6整除的一对数,如147和150就是幸运数对。要求找出所有的3位数幸运数对。

def Yy(a):

    b = a // 100
s = a // 10 % 10
g = a % 10
k = b + s + g if k % 6 == 0:
return 1
else:
return 0 for i in range(100, 1000):
j=i+3
if(Yy(i) and Yy(j)):
print(i,j) 运行结果:
129 132
138 141
147 150
189 192
219 222
228 231
237 240
279 282
.......
.......
.......

题目二:lambda 函数找最大值

定义一个lambda函数,返回三个数中的最大值。要求从键盘输入3个整数,找出其中的最大值。

a,b,c = input().split(",")
k = lambda a1, b1, c1: max(a1, b1, c1)
print(k(a, b, c))

题目三:n个数前后互换 (切片)

定义一个函数,将n个数前半部分和后半部分互换。n为奇数时,中间的数不移动
示例如下:1,2,3,4,5
对换后4 5 3 1 2

def LeftRotateString(s, n):
#如果是奇数,则中间数不变
if len(s)%2!=0:
return s[n+1:]+s[n:n+1]+s[:n] else:
return s[n:] + s[:n] a=input().split(",") #逗号分隔拆分 print(LeftRotateString(s=a,n=len(a)//2)) 运行结果:
1,2,3,4,5
['4', '5', '3', '1', '2']

题目四:字符串相减(删除指定字符)

定义一个函数完成两个字符串的减法,例如abcdabcde-ab表示从字符串abcdabcde中删除全部ab,
结果为cdcde,字符串的减法表达式从键盘输入。
示例如下:
请输入字符串减法表达式:abcdabcde-ab
输出结果为:
abcdabcde-ab=cdcde

方法一:可以用空字符来替换特定的字符,来实现删除
a,s=input().split("-")

dd=a.replace(s,"")
print(dd) 运行结果:
abcdabcde-ab
cdcde
方法二:用re.sub()方法(re正则表达式库)来实现删除
import re

a, s = input().split("-")
print(re.sub(s,"",a,2)) 运行结果:
abcdabcde-ab
cdcde

.replace()方法

replace(…) method of builtins.str instance S.replace(old, new[, count]) -> str

参数
old – 将被替换的子字符串。
new – 新字符串,用于替换old子字符串。
max – 可选字符串, 替换不超过 max 次

比如,字符串a=‘天王盖地虎:宝塔镇河妖’,尝试将其中的王字符删除,将王字符替换成空字符。

注意,它返回的是替换后(在这种情况下,是删除字符)的字符,没有改变原始字符串,也就是说,a还是原来那个a。所以如果想使用替换后的字符需要指定一个变量进行赋值。

运行结果:

眼前的你,发现还有一个可选参数,count
count参数就可以指定要替换几个。我们无意中知道了如何删除指定数目的字符。

运行结果:

re.sub()方法
除了使用Python标准库中的方法,还可以使用re正则表达式库,来实现。

使用re.sub()方法,这个方法的功能更强大,可以替换特定模式的字符。

因为模式匹配比较麻烦,所以比较强大。

sub(pattern, repl, string, count=0, flags=0)

pattern代表指定的模式,这是强大的原因,如果简单点使用,只指定特定字符,就可以用’特定字符’来表示模式。

repl代表的是,需要替换成的字符,如果删除,就是替换成空字符。

string代表的是,需要被替换的字符串。

count是替换的次数。

运行结果:

总结:

  • 无论是Python字符串自带的.replace()方法,还是re提供的.sub()方法,都是不改变原来的字符串,返回值才是替换的字符串。所以,如果要使用替换的字符串,就需要将返回值赋值给一个变量。
  • 这两种方法,默认都是替换所有的指定字符。

Python(上机题) 通俗易懂的基础题目解析的更多相关文章

  1. Python语言上机题实现方法(持续更新...)

    Python语言上机题实现方法(持续更新...) 1.[字符串循环左移]给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a'.'b' ...

  2. python算法题 python123网站单元四题目

    目录 一:二分法求平方根 二:Collatz猜想 三:算24(只考虑满足,不考虑把所有情况找出来)   下面向大家介绍几个python算法题. 一:二分法求平方根 1.题目要求为 2.输入输出格式为 ...

  3. 各位大佬Python的第一部分道基础题已经整理好了,希望大家面试的时候能用的上。

    Python的第一部分道基础题,希望大家面试的时候能用的上. 1.为什么学习Python? Python是目前市面上,我个人认为是最简洁.最优雅.最有前途.最全能的编程语言,没有之一. 2.通过什么途 ...

  4. Python 刷题笔记

    Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Pyth ...

  5. 【情景题】NPDP经典题目(上)

    [情景题]NPDP经典题目(上) 1.一家玩具生产企业正在为10-12岁的儿童开发一种"动力车".潜在风险:尽管该公司在玩具市场有着丰富的经验,但是这些经验主要是针对5岁以下儿童玩 ...

  6. 1Z0-053 争议题目解析

    1Z0-053 争议题目解析 Summary 题目NO. 题目解析链接地址 题库答案 参考答案 考查知识点  24 http://www.cnblogs.com/jyzhao/p/5319220.ht ...

  7. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  8. 1Z0-053 争议题目解析25

    1Z0-053 争议题目解析25 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 25.You enabled Flashback Data Archive on the INVEN ...

  9. 1Z0-053 争议题目解析24

    1Z0-053 争议题目解析24 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 24.Which of the following information will be gath ...

  10. 1Z0-053 争议题目解析46

    1Z0-053 争议题目解析46 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 46.What happens when you run the SQL Tuning Adviso ...

随机推荐

  1. linux服务器cup100%问题排查

    一.出现问题在发现公司门禁服务无法开门的第一时间,去线上服务器上查看了一下进程的运行情况,具体运行如下: 第一次在查看的时候发现并没有我需要的服务entranceguard进程(图片是后续截图的) 二 ...

  2. ActiveReports报表行号

    =RunningValue(Fields!字段名称.Value, CountDistinct, "矩表分组名称") RunningValue(Fields!区域.Value, Co ...

  3. 7.3 Windows驱动开发:内核监视LoadImage映像回调

    在笔者上一篇文章<内核注册并监控对象回调>介绍了如何运用ObRegisterCallbacks注册进程与线程回调,并通过该回调实现了拦截指定进行运行的效果,本章LyShark将带大家继续探 ...

  4. Python 提取图片中的GPS信息

    JPG图片中默认存在敏感数据,例如位置,相机类型等,可以使用Python脚本提取出来,加以利用,自己手动拍摄一张照片,然后就能解析出这些敏感数据了,对于渗透测试信息搜索有一定帮助,但有些相机默认会抹除 ...

  5. Flask 框架实现自定义分页

    手撸的表格分页: Flask框架下的分页,我研究了很久,自带的分页方法不稳定,还不如自己手撸的好使. <!--name:ndex.html--> <!DOCTYPE html> ...

  6. CE修改器入门:查找多级指针

    本关是第6关的加强版,CE 6.X 教程中的4级指针比5.X的要简单些.多级指针就像玩解谜游戏一样,谜团不只一个,盒子中还有盒子.这里面是4级指针,游戏中也有比如8级指针,12级指针等等,思路都是一样 ...

  7. 使用Miniconda安装R语言环境

    使用Miniconda安装R语言 下载Miniconda3-latest-Linux-x86_64.sh 静默安装 sh Miniconda3-latest-Linux-x86_64.sh -b -p ...

  8. 【算法】priority_queue在力扣题中的应用 | 力扣692 | 力扣347 | 力扣295 【超详细的注释和算法解释】

    说在前面的话 博主也好长一段时间没有更新力扣的刷题系列了,今天给大家带来一些优先队列的经典题目,今天博主还是用C++给大家讲解,希望大家可以从中学到一些东西. 前言 那么这里博主先安利一下一些干货满满 ...

  9. 【双指针】双指针算法详解两道经典OJ【力扣27,力扣26,力扣38】超详细算法教程

    [双指针]双指针算法详解两道经典OJ[力扣27,力扣26,力扣38]超详细算法教程 今天又又到了我们刷力扣题的时间啦! 今天博主给大家带来的三道题是: 27. 移除元素 26. 删除有序数组中的重复项 ...

  10. 【译】宣布推出适用于 .NET 的 Azure Migrate 应用程序和代码评估工具

    原文 | Olia Gavrysh 翻译 | 郑子铭 我们很高兴地宣布发布一款新工具,可以帮助您将本地 .NET 应用程序迁移到 Azure. 适用于 .NET 的 Azure Migrate 应用程 ...