python 字符串反转与找不同
2021/4/13 12:27:58
本文主要是介绍python 字符串反转与找不同,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一个网站
自己之前用电脑,大部分时间就是炉石,然后就是看看知乎撒撒的,最近感觉要老了,孩子都要开始学编程了,自己还是这样玩不好吧,所以开始看看之前知乎上收藏的一些内容,其实就是想的让自己能多动一下脑子。
找到了一个网站:https://www.codingame.com
网站上的话需要工具,可算是用到买的东西了。网站需要一点英语基础,反正有翻译插件就先搞它一波。
通过前边的引导,发现了这个网站有一个实时的小比赛,一道题目,几个人做,结束后可以互相看一下实现,我个人感觉还是有点意思的。
今日的题目
两个字符串,a,b 需要先将b反转然后看看ab有几个字符不同,最后输出不同的个数。
因为自己编程不行,所以,我还是搜索了如何反转字符才做出来的,本来还想的是不是有统计不一样的函数,结果好像是没有。
import sys import math # Auto-generated code below aims at helping you parse # the standard input according to the problem statement. line_1 = input() line_2 = input() # Write an answer using print # To debug: print("Debug messages...", file=sys.stderr, flush=True) line_2_in = line_2[::-1] count = 0 for i in range(0,len(line_1)): if line_1[i] != line_2_in[i]: count = count + 1 print(count)
反转的几个方法
我使用的方法是切片了,简单的在回顾一下切片,也方便自己后续使用
一个完整的切片表达式包含两个“:”,
用于分隔三个参数(start_index、end_index、step),
当只有一个“:”时,默认第三个参数step=1;
当一个“:”也没有时start_index=end_index,表示切取start_index指定的那个元素。step:正负数均可,其绝对值大小决定了切取数据时的‘‘步长”
而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。当step省略时,默认为1,即从左往右以步长1取值。
“切取方向非常重要!”“切取方向非常重要!”“切取方向非常重要!”,重要的事情说三遍!start_index:表示起始索引(包含该索引对应值);
该参数省略时,表示从对象“端点”开始取值
至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。end_index:表示终止索引(不包含该索引对应值);该参数省略时,表示一直取到数据“端点”,至于是到“起点”还是到“终点”,同样由step参数的正负决定,step为正时直到“终点”,为负时直到“起点”
参考地址链接
他山之石
自己也算是新手了,那么看看别的人是怎么写的。
I=input I(sum(i!=j for i,j in zip(I(),I()[::-1]))) l,j=input(),input() print(sum(x!=y for x,y in zip(l,j[::-1])))
上边是其他两个人写的,计算方式是一样的,写法上有点不同。
下面的写法还可以看懂,l,j是赋值进来的字符串。
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。
在我测试zip()函数的时候有一个注意点,zip()返回的对象是一个迭代器,只能遍历一次,所以不可以赋值给变量多次取用呀。
x!=y for x,y in zip(l,j[::-1])
上边的就是将zip对象里所有元组中的元素进行是否相等的判断,每次判断后返回一个true 或 false 值。到这里他的计算逻辑就知道了,不相等为true,也是数字1,最后用sum加起来。这个好像是用的生成器吗,没去仔细查了。
到这里还有一个问题就是I=input 然后用I(),I()[::-1])来代表输入的内容了。后续再看吧?
发现计算思路一样,他的实现比较简单,是用了一些我不太会的内容,值得学习。
自己测试的时候感觉,好像是少了一个括号吗?我自己要能正确运行的话要成下边的形式
sum((x != y for x,y in zip(a,b[::-1])))
后记
一个东西,断断续续搞了几天,才抽时间搞完。
学到的还是一些语言上的特性和用法。还是在提高语言的熟练度。
这篇关于python 字符串反转与找不同的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享
- 2024-12-19Python资料:新手入门的全面指南
- 2024-12-19Python股票自动化交易实战入门教程
- 2024-12-19Python股票自动化交易入门教程
- 2024-12-18Python量化入门教程:轻松掌握量化交易基础知识