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

20190305234310_aa3c87903760a4efdff2a084cf83319b_1.jpeg

给出一个 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))

20190305234310_aa3c87903760a4efdff2a084cf83319b_2.jpeg

涉及到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,\n[1:6]的值为%s,\n[1::2]的值为%s,\n[1::3]的值为%s,\n[:5:1]的值为%s,\n[::-1]的值为%s,\n[::-2]的值为%s,\n[:-1]的值为%s,\n[:2]的值为%s,\n[:]的值为%s,\n[::]的值为%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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值