php 反转一个整数,Python 实现反转整数的案例(很容易懂的那种)

题目:

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

示例 1:

输入: 123

输出: 321

示例 2:

输入: -123

输出: -321

示例 3:

输入: 120

输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为

56474d44dd5bacbe4f2c5eeea2ff17ce.png 。请根据这个假设,如果反转后整数溢出那么就返回 0。

解题思路:

1.实现数据的反转

如果是正数:

tra = 0

while x != 0:

n2 = x%10

x = x //10

tra = tra*10 + n2

如果是负数就abs()一下这个数

2.溢出判定

给出范围[−2^31, 2^31 − 1]

则输出的结果tra就必须满足这个范围.

代码:

class Solution(object):

def reverse(self, x):

base = 1

for i in range(31):

base = base * 2

two_Max = base - 1

two_Min = -base

tra = 0

if x < 0:

x = abs(x)

while x != 0:

n2 = x % 10

if tra > abs(two_Min) // 10 or (tra == abs(two_Min) // 10 and n2 < -8):

return 0

x = x // 10

tra = tra * 10 + n2

return -tra

else:

while x != 0:

n2 = x % 10

if tra > two_Max//10 or (tra == two_Max and n2 > 7 ):

return 0

x = x // 10

tra = tra * 10 + n2

return tra

补充:python实现数字反转_python 数字怎么反转

每次写 Python 都会忘记该怎么写,最后只能去 Stack Overflow 查?我也一样。时间一长,这让人厌倦。

这15个 Python 技巧和窍门,可以帮你提高效率

1. 交换值

x, y = 1, 2

print(x, y)

x, y = y, x

print(x, y)

2. 字符串列表合并为一个字符串

sentence_list = ["my", "name", "is", "George"]

sentence_string = " ".join(sentence_list)

print(sentence_string)

3. 将字符串拆分为子字符串列表

sentence_string = "my name is George"

sentence_string.split()

print(sentence_string)

4. 通过数字填充初始化列表

[0]*1000

# List of 1000

zeros [8.2]*1000

# List of 1000 8.2's

5. 字典合并

x = {'a': 1, 'b': 2}

y = {'b': 3, 'c': 4}

z = {**x, **y}

6. 反转字符串

name = "George" name[::-1]

7. 从函数返回多个值

def get_a_string():

a = "George"

b = "is"

c = "cool" return a, b, c

sentence = get_a_string() (a, b, c) = sentence

8. 列表解析式

a = [1, 2, 3]

b = [num*2 for num in a] # Create a new list by multiplying each element in a by 2

9. 遍历字典

m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} for key, value in m.items(): print('{0}: {1}'.format(key, value))

10. 同时遍历列表的索引和值

m = ['a', 'b', 'c', 'd'] for index, value in enumerate(m): print('{0}: {1}'.format(index, value))

11. 初始化空容器

a_list = list()

a_dict = dict()

a_map = map()

a_set = set()

12. 删除字符串两端的无用字符

name = " George " name_2 = "George///" name.strip() # prints "George" name_2.strip("/") # prints "George"

13. 列表中出现最多的元素

test = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4] print(max(set(test), key = test.count))

14. 检查对象的内存使用情况

import sys x = 1 print(sys.getsizeof(x))

15. 将 dict 转换为 XML

from xml.etree.ElementTree import Element def dict_to_xml(tag, d): ''' Turn a simple dict of key/value pairs into XML ''' elem = Element(tag) for key, val in d.items(): child = Element(key) child.text = str(val) elem.append(child) return elem

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

时间: 2021-03-07

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值