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

题目:

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

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

(0)

相关推荐

  • 基于Python实现2种反转链表方法代码实例

    题目: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表.你能否用两种方法解决这道题? 思路: 主要需要注意反转过程中不要丢了节点.可以使用两个指针,也可以使用三个指针. Python解法一: class Solution: def reverseList(self, head): cur, prev = head, None while

  • 在Python中实现字典反转案例

    有时候会碰到需求,将字典来反转,即:字典中的键作为值,而字典中的值作为键.对于字典比较小,可以使用普通方法 方法一: 使用普通方法转换 >>> d = {'a': 1, 'b': 2, 'c': 3} >>> def invert_dict(d): ... return dict([(v,k) for (k,v) in d.iteritems()]) ... >>> invert_dict(d) {1: 'a', 2: 'b', 3: 'c'} 方法二

  • Python 反转输出正整数的操作

    题目: 获得输入正整数 N,反转输出该正整数,不考虑异常情况. ‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬ 输入格式:输入一个正整数 ‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬ 输出格式‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪

  • Python 列表反转显示的四种方法

    第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换 listNode = [1,2,3,4,5] newList = list(reversed(listNode)) print(newList) #结果 [5,4,3,2,1] 第二种,使用sorted函数,sorted是排序函数,它是对一个列表进行排序后生成一个新的list列表,而sort则是在原来的列表上直接进行排序. listNode = [1,2,3,4,5] newLis

  • Python reversed反转序列并生成可迭代对象

    英文文档: reversed(seq) Return a reverse iterator. seq must be an object which has a __reversed__() method or supports the sequence protocol (the __len__() method and the __getitem__() method with integer arguments starting at 0). 反转序列生成新的可迭代对象 说明: 1. 函数

  • python反转一个三位整数的多种实现方案

    在LintCode上练习遇到这个问题,查阅资料找到多种方法,总结如下. 输入 输出 123 321 第一种:整数方法取余取整实现 class Solution: """ @param number: A 3-digit number. @return: Reversed number. """ def reverseInteger(self, number): g = number%10 #取出个位数 s = (int(number/10))%1

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

    题目: 给出一个 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

  • Python中实现输入一个整数的案例

    我就废话不多说了,大家还是直接看代码吧! #! usr/bin/python3.5 # -*- coding:utf-8 -*- a = input("请输入一个整数:") #python中input函数输出的是一个字符串,而只有通过int进行强制转换 a = int(a) b = input("请输入一个整数:") b = int(b) """ divmod()函数用法 def divmod(x, y): # known case o

  • python简单实现整数反转的画解算法

    题目描述 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果. 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0. 假设环境不允许存储 64 位整数(有符号或无符号). 示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: 输入:x = 120 输出:21 示例 4: 输入:x = 0 输出:0 问题分析 首先我们想一下,怎么去反转一个整数? 用栈? 或者把整数变成字符串

  • python numpy 反转 reverse示例

    python 的向量反转有一个很简单的办法 # 创建向量 impot numpy as np a = np.array([1,2,3,4,5,6]) b=a[::-1] print(b) 结果: [6, 5, 4, 3, 2, 1] 或者 可以使用 flipud function # 创建向量 impot numpy as np a = np.array([1,2,3,4,5,6]) b== np.flipud(ini_array) print(b) 结果也是 [6, 5, 4, 3, 2, 1

  • python实现的分层随机抽样案例

    昨天写了一段用来做分层随机抽样的代码,很粗糙,不过用公司的2万名导购名单试了一下,结果感人,我觉得此刻的我已经要上天了,哈哈哈哈哈哈 代码如下: #分层随机抽样 stratified sampling import xlrd, xlwt, time, random xl = xlrd.open_workbook(r'C:\Users\Administrator\Desktop\分层抽样.xlsx') xl_sht1 = xl.sheets()[0] xl_sht1_nrows = xl_sht1

  • python numpy实现rolling滚动案例

    相比较pandas,numpy并没有很直接的rolling方法,但是numpy 有一个技巧可以让NumPy在C代码内部执行这种循环. 这是通过添加一个与窗口大小相同的额外尺寸和适当的步幅来实现的. import numpy as np data = np.arange(20) def rolling_window(a, window): shape = a.shape[:-1] + (a.shape[-1] - window + 1, window) strides = a.strides +

  • python读取mnist数据集方法案例详解

    mnist手写数字数据集在机器学习中非常常见,这里记录一下用python从本地读取mnist数据集的方法. 数据集格式介绍 这部分内容网络上很常见,这里还是简明介绍一下.网络上下载的mnist数据集包含4个文件: 前两个分别是测试集的image和label,包含10000个样本.后两个是训练集的,包含60000个样本..gz表示这个一个压缩包,如果进行解压的话,会得到.ubyte格式的二进制文件. 上图是训练集的label和image数据的存储格式.两个文件最开始都有magic number和n

  • Python数据分析matplotlib折线图案例处理

    目录 前言 python之matplotlib使用系统字体 实例1:温度变化统计 实例2:交友数量折线图 前言 以下分享折线图小案例,matplotlib还可以进行多种图形的绘制,可以进入官网https://matplotlib.org/gallery/index.html,点击examples,如需学习,选择要学习的图进入,里面包含有代码 python之matplotlib使用系统字体 1.导包from matplotlib.font_manager import FontProperties

  • chatGPT之Python API启用上下文管理案例详解

    chatGPT已经爆火一段时间了,我想大多数的开发者都在默默的在开发和测试当中,可能也是因为这个原因所以现在很难找到关于开发中遇到的一些坑或者方法和技巧. 为什么别人的机器人能联想之前的语料,而你的却像个每次都只如初见的高冷机器人? 我也是参考官方文档去阅读和理解的,但是有时候官方文档以为你很懂了,就没有太多说明,废话不多说下面我跟大家讲一下API调用时如何启用上下文管理的. 官方案例: # Note: you need to be using OpenAI Python v0.27.0 for

  • python 字符串和整数的转换方法

    数字转成字符串 方法一: 使用格式化字符串: tt=322 tem='%d' %tt tem即为tt转换成的字符串 常用的格式化字符串: %d 整数 %f%F 浮点数 %e%E 科学计数 %g%G e 和%f/%E 和%F 的简写 %% 输出% 格式化操作符辅助指令 符号 作用 * 定义宽度或者小数点精度 - 用做左对齐 + 在正数前面显示加号( + ) <sp> 在正数前面显示空格 # 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') 0

随机推荐