python整数反转_【python每日一练】整数反转

b76809692d6534aad3aae8317ce17aff.png

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123输出: 321

示例 2:

输入: -123输出: -321

示例 3:

输入: 120输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

class SolutionReverse:  def reverse(self,x): if x in range(-2**31,0): x=-int(str(x)[1:][::-1]) elif x in range(0,2**31): x=int(str(x)[::-1]) else: x=0 return x if __name__=='__main__': target = -120 s=SolutionReverse() print(s.reverse(target))
3ff83d2065201b148b33b7b781be475c.png

涉及到python中切片的知识点

​target = '012345678'​# 第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束,第三个数(冒号之后)表示切片间隔数p_1=target[1:6:1]# 开始位置是包含在序列切片中的,而结束位置被排斥在切片外p_1_1=target[1:6]# 如果没有指定第二个数,则Python会停止在序列尾p_2=target[1::2]p_2_1=target[1::3]# 如果不指定第一个数,Python就从序列首开始p_3=target[:5:1]# 负数用在从序列尾开始计算的位置p_4=target[::-1]p_4_1=target[::-2]p_5=target[:-1]p_6=target[:2]p_7=target[:]p_8=target[::]​print("原数据的值为%s"%target)print("[1:6:1]的值为%s,[1:6]的值为%s,[1::2]的值为%s,[1::3]的值为%s,[:5:1]的值为%s,[::-1]的值为%s,[::-2]的值为%s,[:-1]的值为%s,[:2]的值为%s,[:]的值为%s,[::]的值为%s" %(p_1,p_1_1,p_2,p_2_1,p_3,p_4,p_4_1,p_5,p_6,p_7,p_8))​

运行结果为:

原数据的值为012345678[1:6:1]的值为12345,[1:6]的值为12345,[1::2]的值为1357,[1::3]的值为147,[:5:1]的值为01234,[::-1]的值为876543210,[::-2]的值为86420,[:-1]的值为01234567,[:2]的值为01,[:]的值为012345678,[::]的值为012345678
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值