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使用正则表达式实现文本替换的方法,结合实例形式分析了Python使用正则表达式实现文本替换的具体操作步骤与相关使用注意事项,需要的朋友可以参考下
    2017-04-04
  • pandas groupby分组对象的组内排序解决方案

    pandas groupby分组对象的组内排序解决方案

    这篇文章主要介绍了pandas groupby分组对象的组内排序解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python修改IP地址的常见方法总结

    Python修改IP地址的常见方法总结

    在网络编程中,可能会遇到需要修改IP地址的情况,Python提供了一些功能强大的库和模块,可以帮助我们实现IP地址的修改操作,本文将介绍几种常见的方法,以及如何使用它们来修改IP地址,需要的朋友可以参考下
    2023-12-12
  • Redis之windows下主从复制案例讲解

    Redis之windows下主从复制案例讲解

    这篇文章主要介绍了Redis之windows下主从复制案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Anaconda安装pytorch和paddle的方法步骤

    Anaconda安装pytorch和paddle的方法步骤

    本文主要介绍了Anaconda安装pytorch和paddle的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 使用Python打造一款间谍程序的流程分析

    使用Python打造一款间谍程序的流程分析

    这篇文章主要介绍了使用Python打造一款间谍程序,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Python np.where()的详解以及代码应用

    Python np.where()的详解以及代码应用

    numpy里有一个非常神奇的函数叫做np.where()函数,下面这篇文章主要给大家介绍了关于Python np.where()的详解以及代码应用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 利用Python编写一个藏头诗在线生成器

    利用Python编写一个藏头诗在线生成器

    这篇文章主要介绍了如何利用Python编写一个藏头诗在线生成器,文中的示例代码讲解详细,感兴趣的同学可以跟随小编一起动手尝试一下
    2022-04-04
  • pandas中DataFrame字典互转的实现

    pandas中DataFrame字典互转的实现

    在数据处理和分析中,Pandas是一个非常强大的Python库,本文主要介绍了pandas中DataFrame字典互转的实现,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04
  • Python实现对Excel表格的操作详解

    Python实现对Excel表格的操作详解

    这篇文章主要介绍了Python实现对Excel表格的操作,在数据处理和报告生成等工作中,Excel表格是一种常见且广泛使用的工具,使用Python来处理Excel表格能够大大的提升效率,感兴趣的同学可以参考下
    2024-02-02

最新评论