反序算法

如何将以下内容进行反序

123456789

987654321

字符串

在以前学习的列表当中,我们可以使用名称[索引]的方式获取列表当中的数值,实际上,这在字符串中也是通用的

#创建一个s字符串
s="abc"
print(s[0])
print(s[1])
print(s[2])

因此,我们可以获得第一个使的字符串反序的方法,内容如下:

s="abc"

#利用+号进行字符串连接
print(s[2]+s[1]+s[0])

总结 :字符串可以类似于列表一样,利用索引来将单个字符取出,使用的规则与列表是一致的

反序算法的优化

如果我们有四个字符,应该如何进行转换呢?

比如:

“abcd”

s="abcd"
print(s[3]+s[2]+s[1]+s[0])

如果我们有四个字符,应该如何进行转换呢?

显然,如果我们有更多字符串去进行反序,那么我们的代码是不是越写越长,因此我们需要设计一个更加具有通用性的代码

s="abcd"
n=len(s)
print(n)

len() 函数

len() 函数用于获取字符串的长度

s="abcde"

#获取字符串长度
n=len(s)

for i in range(n):
	print(n-1-i)

为什么要使用n-1-i?

s="abcde"
result=""
#获取字符串长度
n=len(s)

for i in range(n):
	result=result+s[n-1-i]

print(result)

第二种反序方法

有没有第二种方式来完成字符串的逆序?

  • 利用字符串的逆序连接
s="abcde"
result=""
#获取字符串长度
n=len(s)

for i in range(n):
	result=s[i]+result
print(result)

数字的逆序

那我们如何对数字进行逆序?

123456789

987654321

number=123456
s=str(number)
result=""
#获取字符串长度
n=len(s)

for i in range(n):
	result=s[i]+result

print(int(result))

利用字符串进行逆序

这是一个功能,为了方便使用,我们还可以将其转换为函数来实现,代码如下:

def re(number):
	s=str(number)
	result=""
	#获取字符串长度
	n=len(s)

	for i in range(n):
		result=s[i]+result

	print(int(result))

#调用函数
re(123456)

利用字符串进行逆序

print(56%10)
print(56//10)

print(78%10)
print(78//10)
target=178
result=[]

#获取长度
n=len(str(target))

#获取结果放在列表当中
for i in range(n):
	number=target%10
	target=target//10
	result.append(number)

#打印结果
for i in range(n):
	print(result[i])

利用字符串进行逆序

综合练习

写一个函数,这个函数有一个参数x,这里X可能是整数也可能是字符串,你的函数要能处理两种可能的情况。输出x反转后的结果。(提示可以使用type(x)的方式判断x的类型)

def reverse(x):
	s=""
	result=""
	if type(x)==type("str"):
		s=x
	else:
		s=str(x)

	for i in range(len(s)):
		result=s[i]+result

	if type(x)==type("str"):
		print(result)
	else:
		print(int(result))

reverse("abc")
reverse(123)

写一个函数,这个函数有一个参数x,这里x可能是整数也可能是字符串,你的函数要能处理两种可能的情况。将x反转后的结果接在x后面。注意最终处理完成后x的类型不能改变。(提示:可以使用type(x)的方式判断x的类型)

def reverse(x):
	s=""
	result=""
	if type(x)==type("str"):
		s=x
	else:
		s=str(x)

	for i in range(len(s)):
		result=s[i]+result

	result=s+result
	if type(x)==type("str"):
		print(result)
	else:
		print(result)

reverse("abc")
reverse(123)

反序算法

By yang he

反序算法

  • 222