当前位置:   article > 正文

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

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

方法一:简单

  1. # 定义一个函数,输入整数后,转化为字符串进行切片
  2. def reverse():
  3. num = int(input('请输入一个整数:'))
  4. if num > 0:
  5. # 大于0的情况,只需要从后往前取
  6. num = str(num)[::-1]
  7. return num
  8. elif num <= 0:
  9. # 小于0的情况,从后往前取,不能取到第一个负号,所以结束的步长写下标为0的第一个位置
  10. num = str(num)[:0:-1]
  11. # 返回的值要加上负号
  12. return "-"+num
  13. print(reverse())
  14. 运行结果:
  15. 请输入一个整数:90
  16. 09

方法二:有点复杂

  1. '''
  2. 给出一个32为有符号的整数,将这个整数每位上的数字进行反转
  3. 示例1:输入123,输出321
  4. 示例2:输入-123,输出-321
  5. 示例3:输入120,输出21
  6. '''
  7. #定义函数
  8. def reverse(num):
  9. num = str(num)
  10. #第一种情况,负数,且末尾为0
  11. if num[0]=="-" and num[-1]=="0":
  12. #先从第二个数开始取到倒数第二个数,再将取出的结果进行反转
  13. num = num[1:-1][::-1]
  14. num = "-"+num
  15. print(num)
  16. #第二种情况,负数,末尾不为0
  17. elif num[0]=="-":
  18. #从第二个数取到最后,再将结果进行反转
  19. num = num[1:][::-1]
  20. num = "-" + num
  21. print(num)
  22. #第三种情况,正数,末尾不为0
  23. elif num[-1]=="0":
  24. #从右往左,右边第二个位置开始取进行反转
  25. num = num[-2::-1]
  26. print(num)
  27. #第四种情况,正数,末尾为0
  28. else:
  29. #直接从右往左,全部反转
  30. num = num[::-1]
  31. print(num)
  32. #调用函数
  33. reverse(234)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/程序质量控制师/article/detail/60486?site
推荐阅读
相关标签
  

闽ICP备14008679号