文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

题目:

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

示例 1:

  输入: 123

  输出: 321   

示例 2:

  输入: -123

  输出: -321   

示例 3:

  输入: 120

  输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 。请根据这个假设,如果反转后整数溢出那么就返回 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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯