Python3实现个位数字和十位数字对调, 其乘积不变

 更新时间:2020年05月03日 19:30:19   作者:微信-支付宝  
这篇文章主要介绍了Python3实现个位数字和十位数字对调, 其乘积不变,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

两位数13和62具有很有趣的性质,把它们个位数字和十位数字对调, 其乘积不变,

13 * 62

31 * 26

编程序求共有多少对这种性质的两位数,个位与十位相同的不在此列

如11、22 重复出现的不在此列 如 1362与6213

count = 0

for i in range(11, 100):
  first_left = i // 10
  first_right = i % 10

  if first_left == first_right:  #减少程序循环次数,因为后面的 for j in range(i + 1, 100)
    continue    # 已经解决了11、22 重复出现的不在此列 和 13*62与62*13不在队列

  for j in range(i + 1, 100):   #遍历出数字并找出个位和十位
    second_left = j // 10
    second_right = j % 10

    if second_left == second_right:  #同理减少循环次数
      continue

    newfirst = first_right * 10 + first_left
    newsecond = second_right * 10 + second_left

    if i * j == newfirst * newsecond: #进行if判断
      print('{} * {} = {} * {}'.format(i, j, newfirst, newsecond))

      count += 1

print(count)

补充知识:Python反转三位整数有几种方法?

废话不多说,开始今天的题目:

问:说说Python反转三位整数有几种方法?

答:这是leetcode上的一道编程算法题,感觉还是蛮经典的,今天就拿出来给大家分享一下!给出一个3位的正整数,你需要将这个整数中每位上的数字进行反转。例如:输入: 123,输出: 321 。大家先不看下面答案,看看如果是自己,可以想出几种Python方式来解决!

下面分别来说说几种实现的方式:

1、取余取整方式

class Test:
  def reverseInteger(self, number):
    g = number%10     #取出个位数
    s = (int(number/10))%10  #取出十位数
    b = int(number/100) #取出百位数
    return g*100+s*10+b
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123)) #输出结果:321

2、使用栈的方式

class Test:
  def reverseInteger(self, number):
    number = str(number) # 模拟入栈
    l = list(number)
    result = ""
    while len(l) > 0:
      result += l.pop() # 模拟出栈
    return int(result)
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123)) # 输出结果:321

3、使用切片的方式

class Test:
  def reverseInteger(self, number):
    number=str(number)
    result=number[::-1] #python中切片的特殊用法
    result=(int(result))
    return result
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123))

4、整数转字符串,反转字符串,然后再转整数

class Test:
  def reverseInteger(self, x):
    plus_minus = ""
    reverse_x = ""
    if x < 0:
      plus_minus = "-"
      x = -x
    for i in str(x):
      reverse_x = i + reverse_x
    reverse_x = plus_minus + reverse_x
    if int(reverse_x) > pow(2, 31) - 1 or int(reverse_x) < pow(-2, 31):
      return 0
    return int(reverse_x)

if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123)) #输出结果:321

以上是我分享的4种方式,大家还有其它的方式吗?上面代码都已经经过我亲自测试,可以直接使用!希望能给大家一个参考,也希望大家多多支持脚本之家!

相关文章

  • Python中的查找算法代码实例

    Python中的查找算法代码实例

    这篇文章主要介绍了Python中的查找算法代码实例,算法是解决一系列问题的清晰指令,也就是,能对一定规范的输入,在有限的时间内获得所要求的输出,简单来说,算法就是解决一个问题的具体方法和步骤,算法是程序的灵魂,需要的朋友可以参考下
    2023-07-07
  • Python实现哲学家就餐问题实例代码

    Python实现哲学家就餐问题实例代码

    这篇文章主要给大家介绍了关于Python实现哲学家就餐问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python生成随机数的方法

    Python生成随机数的方法

    这篇文章主要介绍了Python生成随机数的方法,有需要的朋友可以参考一下
    2014-01-01
  • Python-split()函数实例用法讲解

    Python-split()函数实例用法讲解

    在本篇文章里小编给大家整理的是一篇关于Python-split()函数实例用法讲解,有兴趣的朋友们可以学习下。
    2020-12-12
  • Pymysql实现往表中插入数据过程解析

    Pymysql实现往表中插入数据过程解析

    这篇文章主要介绍了Pymysql实现往表中插入数据过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • python插入数据到列表的方法

    python插入数据到列表的方法

    这篇文章主要介绍了python插入数据到列表的方法,涉及Python中insert方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • django 邮件发送模块smtp使用详解

    django 邮件发送模块smtp使用详解

    这篇文章主要介绍了django 邮件发送模块smtp使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python3.4实现邮件发送功能

    python3.4实现邮件发送功能

    这篇文章主要为大家详细介绍了python3.4实现邮件发送功能,含带中文附件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • python中range()与xrange()用法分析

    python中range()与xrange()用法分析

    这篇文章主要介绍了python中range()与xrange()用法,结合实例形式分析了range()与xrange()使用与效率上的区别,需要的朋友可以参考下
    2016-09-09
  • 关于Django Models CharField 参数说明

    关于Django Models CharField 参数说明

    这篇文章主要介绍了关于Django Models CharField 参数说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03

最新评论