#!/usr/bin/python3 ''' 1、问题描述 反转一个只有3位数的整数 2、问题示例 输入number=123,输出321;输入number=900,输出=9。 3、代码实现 ''' class Solution: #参数number:一个3位整数 #返回值:反转后的数字 def reverseInteger(self,number): h = int(number/100) t = int(number%100/10) z = int(number%10) return (100*z+10*t+h) class Solution2: #使用字符串反转法完成 def reverseInteger(self,str): str1 = '' str1 = str1.join(reversed(str)) if str1[0] == '0' and str1[1] != '0': str1 = str1[1:] # str1 = str1[1:2]实际使用中是左闭右开区间,实际上是截取了索引位为1的字符, # 使用str1 = str1[1:]在此实例中与str1 = str1[1:3]效果等同 elif str1[0] == '0' and str1[1] == '0': str1 = str1[2] return str1 #主函数 if __name__ == '__main__': # solution = Solution() # while True: # str_num = input("输入一个三位整数:") # if len(str_num) == 3 : # ans = solution.reverseInteger(int(str_num)) # print("输出:",ans) # break # else: # print("Error,请重新输入一个三位整数") solution_str = Solution2() while True: str_num = input("输入一个三位整数:") if len(str_num) == 3 : ans = solution_str.reverseInteger(str_num) print("输出:",ans) break else: print("Error,请重新输入一个三位整数") ''' 4、总结 此实例中要求900反转后为9,如果使用字符串直接反转则需要判断前两位字符串不为0, 否则反转后会出现009现象,下面提出如下思考,如果使用字符串反转方法,将使用 方法二完成。 '''